Thanks for the suggestions, Skimask and SteveB.
I'll try your code, Skimask, and see if it works. Would it save any code space on the PIC (compared to my original code?)

The application logs data at very irregular intervals, from seconds to days. So SteveB's suggestion would require three bytes (or at least 21 bits anyway): two bytes for the seconds since the last incident, and 5 bits for the number of days since the last incident (and I think I would only count seconds up to 12 hours, then increment a half-day counter). A couple of bytes saved, but two different time data formats in the EEPROM: the initial time stamp, and then the incremented offsets, and post-processing required for the data.
I think I'll stick with time stamps on each event.

Norbert