a power-fail circuit that saves the odometer data into EEPROM when a power failure is detected
I find this to be one of the coolest aspects of the project. I don't think I would have ever considered taking it that far. My solution probably would have been to update the EEPROM whenever the vehicle comes to a stop or if a max allowed amount of time passed since the last write. I also would have shifted the memory address of the updates every write for wear evening. Then at start-up search for the data entry with the highest values. Good work.
I have found it to be quite common for microcontroller hobbyists to use multiple lines to print large numbers on alphanumeric LCDs. If you are looking to improve upon that, I have seen others with more natural looking digits consisting of curved and/or tapered edges. I don't know how much more complex it is to implement than the more blocky alternative but it is something you may want to look into.