Hola.
Si buscas en Google como 16F877A datasheet te sale la hoja de características donde puedes ver toda la información sobre el PIC que estás utilizando, y entre esa información está lo que buscas.
Para lo que quieres hacer yo utilizaría la entrada RB0/INT. Se me ocurren otras formas de hacerlo pero esa es la más sencilla.
Como te ha dicho ByAxel, en tu programa tienes que poner la instrucción SLEEP donde corresponda (cuando tenga que apagarse; podría ser al detectar la pulsación de tu pulsador, o en cualquier otra situación que te interese).
Para poder encenderlo mediante ese pulsador, el PIC tiene que estar correctamente configurado (habilitar la interrupción de esa entrada y realizar el programa correspondiente que la gestione).
Es más fácil de lo que parece.