Wrong value in the W-register after a MOVF operation
Have you set portA to digital I/O. Usually it defaults to analogue inputs at powerup?
If left in analogue mode it will function as a digital output but when read will return 0x00.
Read the A to D converter section of the data sheet and find the register which needs to be written to change portA from analogue mode to digital mode.