NO borra la memoria sino que vuelve a empezar el contador de programa asi q las variables que tenia cargadas con valores que habia modificado se conservan (siempre que no las inicialice).
¿Con variables te referis a registros de propósito general?
Lamentablemente, en cualquier programa siempre se inicializa alguna variable de propósito general, excepto que la inicialización ocurra leyendo de una fuente ROM, ya sea la misma EEPROM del uC u otro tipo de memoria interna/externa no volátil.
Por lo tanto, si no usas guardas los datos de las "variables" en una memoria de tipo no volátil, el programa seguramente fallará, ya que como bien dijiste el Watchdog Timer realiza un reset, lo que provoca que el programa se reinicie y la unica forma sería no inicializar ninguna variable en el programa, lo que conlleva a problemas ya que tendrías datos aleatorios al iniciar el PIC por primera vez y a partir de alli, todo va cuestas abajo.
Saludos.