Which is better after rewriting the ROM on a PIC16F? A software reset instruction or a watchdog reset
I would say your program is sub-optimal if you only read the calibration values once (at start-up). If you re-read them continuously you can avoid the need for a reset entirely and avoid the possibility of a glitch screwing up the values stored in RAM. 

As far as the actual reset goes- there is a RESET instruction and executing that would probably be the best way (check the sources or disassemble the emitted code to see what this library function actually does). This should set all the registers to their power-on defaults and leave the ones that are 'u' the same. 

Inhibiting your periodic resets of the WDT has some appeal since it would actually test that the WDT is functional. However, if you are testing the source of the reset in your start-up it would be indistinguishable from a WDT reset unless you do something like flagging it in a pre-determined EEPROM location, then rewriting it on power-up. 

Depending on what you are designing you may wish to log or otherwise deal with WDT resets. WDT resets can be an indication of a serious problem that needs to be attended to as soon as possible.