Muy buenas, nunca he utilizado los pic's que mencionas, tambien soy algo nuevo en esto, el que estoy utilizando actualmente es el pic16f88, y en MikcroC PRO, a parte de los bits de configuración, en el main tengo que configurar el ck interno:
OSCCON = 0x60; //oscilador a 4 mhz (.... 0x40 para 1 mhz ....0x70 para 8 mhz)
while (OSCCON.IOFS=0); //esperar a estabilizar el oscilador
y por lo que comentas que en el proteus te va bien, tiene toda la pinta de poder ser esto, ya que almenos a mi, como dice bigluis, proteus pasa olimpicamente de la frecuencia que le he puesto en el pic y solo hace caso de la que tu le pones en la simulación.
Por otro lado, si importa el estado de el resto de las entradas, ya que en el codigo comparas el puertoA:
if(PORTA==0X00)
PORTB=0X01;
imagina que tu en los 2 bits bajos pones '0', en teoria deberia saltar este 'if' pero si los bits altos que del porta no estan a masa y fueran leidos como '1' entonces porta no seria 0x00 sino que seria 0xFC (11111100)
Espero te sea util, un saludo