Muchas gracias por las respuestas

Ese es mi problema, aunque solo declare la entrada A0, con cualquier otra entrada del puerto A se apaga el Led en B0, y tienes razon los botones deben activarse con 1 no con 0, esque primero lo hize asi y luego lo cambié.
Tal vez sea un error de conección pero no estoy seguro, aqui esta mi circuito en proteus


El programa completo yo creo que quedaria así
#include <16f84a.h> // incluimos la libreria para este pic
#fuses XT,NOWDT,NOPROTECT // configuramos los fusibles de programacion
// XT - cristal de cuarzo
// NOWDWT - no perro guardian
// NOPROTECT - no protegido
#use delay(clock=4000000) // velocidad de reloj en HZ
//// Declaración de variables ////
//// Configuramos salidas y entradas ////
void main (void)
{
output_high (PIN_B0);
output_high (PIN_B1);
output_high (PIN_B2);
output_high (PIN_B3);
output_high (PIN_B4);
set_tris_b (0x00); // Declaramos puerto B como salida
set_tris_a (0x1F); // Declaramos puerto A como entrada
WHILE (TRUE) // Bucle infinito DO
If (input (PIN_A0)) // Si la entrada es 1
{ delay_ms (10); // esperamos 10 ms
If (input (PIN_A0)) // comprobamos otra vez la entrada sea 1, por temas de rebote
{ do { } while (input (PIN_A0)); // esperar a soltar el boton
output_toggle(PIN_B0); // el puerto b cambia al complementario.
}
If (input (PIN_A1)) // Si la entrada es 1
{ delay_ms (10); // esperamos 10 ms
If (input (PIN_A1)) // comprobamos otra vez la entrada sea 1, por temas de rebote
{ do { } while (input (PIN_A1)); // esperar a soltar el boton
output_toggle(PIN_B1); // el puerto b cambia al complementario.
}
If (input (PIN_A2)) // Si la entrada es 1
{ delay_ms (10); // esperamos 10 ms
If (input (PIN_A2)) // comprobamos otra vez la entrada sea 1, por temas de rebote
{ do { } while (input (PIN_A2)); // esperar a soltar el boton
output_toggle(PIN_B2); // el puerto b cambia al complementario.
}
If (input (PIN_A3)) // Si la entrada es 1
{ delay_ms (10); // esperamos 10 ms
If (input (PIN_A3)) // comprobamos otra vez la entrada sea 1, por temas de rebote
{ do { } while (input (PIN_A3)); // esperar a soltar el boton
output_toggle(PIN_B3); // el puerto b cambia al complementario.
}
if ((output_low (PIN_B0))&& (output_low (PIN_B1))&& (output_low (PIN_B2))&& (output_low (PIN_B3))){output_toggle(PIN_B4);}
}
}
Ese seria el programa completo, pero al momento de comilarlo me marca muchos errores, mas que todo me pide que ponga muchos WHILE al final y aunque haga eso, el resultado no es el deseado.
Espero haber sido un poco mas claro y de nuevo cualquier consejo o ayuda son bienvenidos