What facilities/methods exist to debug and simulate programs for PIC microcontrollers
The PICkit3, ICD3 and REAL ICE programmers/debuggers from Microchip all support various levels of debugging. All of these allow you to pause execution, set breakpoint(s) and view variables / SFRs / CPU registers / etc. REAL ICE also allows you to stream data out at high speed through DMCI.

Microchip also has their MPLAB SIM simulator, which does a pretty good job of simulating the parts (with exceptions of course). There are also third-party tools like Proteus VSM.