Microchip's MPLAB can read a PIC and display its output as assembler.
The PIC is loaded into the programmer and read. The resulting file can be seen by using the "View" pull down menu and "Program Memory." At the bottom of the display click on "Machine," or "Symbolic" to see the ASM.
I haven't tried doing this with a Hex file, but should also be possible.