Would just like to share some info on the eeprom writes.
I've been working on the 18F2520 but think the specs are the same for the 16F range as well.
The reference to 1million writes is correct, but this refers to spec D120.
In practical use, where eeprom is regularly rewritten/refreshed then the D124 spec applies, which is 1 million minimum and 10million typical.
These facts have been confirmed by Microchip support.
Just to prove the point, I've been running an endurance test over the last week+, writing and reading, different data to eeprom and counting the number of writes to each byte, currently at 12,500,000 to each byte, with no byte read errors given.
Please also note that the specification refers to the number of writes to a specific Byte, and not the total number of writes to the eeprom array.
Hope that clears things, because like you I originally though it was just 1 million writes to the whole eeprom array.