I made a flasher/eraser program for I2C EEPROM (up to 24C64) thru PIC (e.g. PIC18F4520, 32K). So far, I have always had a socket (DIL8) for external EEPROM on PWB so that I can remove EEPROM for flashing purpose.
With this program I can use solderable (fixed) EEPROM and update content thru PIC via ICSP. Limitation comes from PIC program memory (flash) thanks to EXT modifier (credits to DT).
Bigger EEPROMs can be also covered, but you have to do flashing in parts.

Feel free to modify or improve code.
EEPROM flash.zip