Alternatives to using EEPROM
The way to overcome the endurance limitation of EEPROM is to apply a wear-leveling algorithm. Basically for every record you want to store you allocate N-times the memory requirement to it, and an corresponding space for N-index values, then use inference to figure out which is the "current record" and which is the next record to write to. It's well described in this AVR App Note.