2) Microchip recommends to place a NOP instruction just past the Sleep one, when using the feature this way
try to add

@ sleep
@ nop

If the GIE
bit is clear (disabled), the device continues execution at
the instruction after the
SLEEP instruction. If the GIE bit
is set (enabled), the device executes the instruction
after the
SLEEP instruction, then branches to the interrupt
address (0004h). In cases where the execution of
the instruction following
SLEEP is not desirable, the
user should have a
NOP after the SLEEP
instruction.