I've had many problems with EEPROM write errors when using a 16F877 part on 3.3v power (20Mhz crystal). Worked fine at first, then deteriorated over time. Replacing with a LF part cured the problem.

I would re-compile for a LF part if possible. You just never know, and it would reassure me to know I did!