Should I read and write back to the same memory location each time?
Since each location can only hold a number up to 255 should I break the accrued time up and use a different memory location for each character?
No. You should look at the EEPROM_readAnything and EEPROM_writeAnything functions (google if you need to) to see how to read and write ints, floats, structs, etc. There is no reason to convert the number to and from a string.
Writing additional accrued time appropriately (once a minute, every 30 seconds, etc.) will allow you to achieve a balance between wear and loss of data.
If the power supply to the Arduino is stable enough, you could write only when the pin went LOW again, but I don't recommend that. Any accrued time since the last save would be lost if the Arduino lost power.
Writing every 5 minutes while the pin is high and again when it goes LOW should be a reasonable compromise.