"The PIC16F876/877 devices have 256 bytes of
EEPROM data memory"

This was taken from page 41 of the Datasheet.

I only read and write one byte at a time so I can't help with the other part of your question.

Hope this helps...