Te tiro un pequeño diagrama de flujo. Haber si me entendes.
1- Configurar puertos, RA0 pulsador con 0 lógico se activa, puerto B, todas salidas.
2- Pongo a 0 todas las salidas del puerto B para apagar los led (ya que puede haber algunos encendidos).
3- ¿RA0 es 0? BTFSC RA0
4- No, espero. Vuelvo al punto 3 GOTO 3
5- Si, incremento en 1 el puerto b INCF PORTB
6- Vuelvo al punto 3 GOTO 3
Para tu pregunta, al puerto a dónde vas a poner el pulsador, por ejemplo RA0, lo pones como entrada, las demás salidas. Para poner el pulsador, deberás ponerle una resistencia pull up de 100k de la siguiente forma:
RA0-------100K-----5V
|
|------P-------0V
RA0, conectas una pata de la resistencia. Ene sta unión RA0 y R pones una pata del pulsador. La pata restante del pulsador a 0V y la otra pata restante de la resistencia a 5V
Esta configuración que tiene la resistencia, se llama pull up, porque mantiene una tensión proxima a 5V en este caso. En cambio, si la resistencia estaría conectada a 0V estaría configurado como pull down.