A coin cell feeding the RTC and a diode between the RTC VDD and the PIC VDD works well.

For the code jump add a button. At startup if the time needs reset for some reason hold the button.