I'm not sure I understand your question.
The AT89C55WD can certainly be programmed with your program code, however the flash
cannot be modified from within your program during runtime to store data.
You can either select another version of the 8051 MCU which does support IAP/Self Programming or implement some form of external storage like the I2C/TWI Serial EEPROM.
Atmel Serial EEPROM
Interfacing AT24CXX Serial EEPROMs with AT89LP Microcontrollers
I believe Philips/NXP, Maxim/Dallas and Silicon Labs (Silabs) all offer 8051 variants with IAP capabilities:
BigDog