PIC16F877a input always true
If you are using the internal pullups, then you can simply connect the other side of the switches to ground instead of +5V and invert your detection logic (i.e. 1 = no press, 0 = press)  



The pullups are very weak so they act like a high value resistor connected from the pin to +5V inside the PIC.
As mentioned by arminb, the pullups are currently keeping your pins at a logic high, so the pin always reads 1.  

In your code I would add a debouncing check to your routines to be thorough, as with the first "Press any button" check if you press button A, the switch may bounce, the micro will detect more than one press and and go through the second "Checking button A" check too.  

A mechanical switch usually "bounces" between 1 and 0 a few times before it settles, so the microcontroller can detect more than one "press" unless you do something about it. This is often solved in software simply by testing the button, if pressed wait a few milliseconds and then check again - if it is still pressed then it is valid.
Here are a couple of links to debouncing tutorials/code:
Arduino example
12F675 example
Loads of examples at hackaday
Switch bounce tutorial with various solutions