Hola perseo1012, bienvenido al foro!
Que te parece si para tal finalidad te apoyas en la eeprom del PIC? Me explico, al principio de tú programa lo que hacer es poner 'AA' en la primera posición de la eeprom. Cuando tú programa se inicia lo que haces es leer esa posición de la memoria. Tienes 2 casos posibles:
En la primera posición de la EEPROM tenemos el valor 'FF' -> Eso significa que el micro no se ha encendido núnca, entronces te encargas de hacer la verificación de esas variables externas.
En la primera posición de la EEPROM tenemos el valor 'AA' -> Eso significa que el equipo si que se ha encendido y que ya tomaste el valor de las variables externas.
No se si me he explicado demasiado bien jeje. Si tienes alguna duda pregunta y me esmero un poco más
Un saludo desde Alicante.