Wooops, I was thinking sleep was like halt in Z80 and would wait for an interrupt and it is except the timers stop during sleep and so it is only external interrupts that wake it up. Thanks for trying anyway.
Just been trying out your code in a Popular simulator while waiting for the actual sensor to arrive.
When I build your code in 8.46 it gives the warning TRIS Instruction Deprecated etc.
When its run in the simulator it constantly flags up similar TRIS errors while its running although it only displays -0.1C regardless of the sensor temp.
I know your code is very tight, but thought I would just try changing your TRIS PORTB with MOVWF TRISB plus MOVWF PORTA. ( though I might be completely wrong ? )
This complied and ran clean in the simulator but it still just displays -0.1c.