Hola Ivan, al parecer la directiva ALL DIGITAL no funciona muy bien que digamos es por ello que deberias usar el registro CMCON=7 para que se lean como digitales los pines del PIC. Siempre es mejor ya que aseguras el valor del registro del comparador o del ADC.
Por otro lado le hice unas pequeñas modificaciones a tu programa, para que se viera los cambios que deseabas. Los ELSE y DELAY los comente para ver si es asi como querias que se comportara. Ya lo probe en Proteus y funciona no se si como desees pero al menos ya enciende los pines del PORTB.
DEVICE = 16F628A
DECLARE XTAL = 4
declare all_digital = TRUE
DECLARE WATCHDOG = TRUE
CMCON = 7
trisa=%11111111
trisb=0
porta=0
portb=0
main:
if porta.0=1 then
portb=%11111111
' ELSE
' PORTB=0
ENDIF
'delayms 1000
if porta.1=1 then
portb=%11111110
' ELSE
' PORTB=0
ENDIF
'delayms 1000
if porta.2=1 then
portb=%11111101
' ELSE
' PORTB=0
ENDIF
'delayms 1000
if porta.3=1 then
portb=%11111011
' ELSE
' PORTB=0
ENDIF
'delayms 1000
if porta.6=1 then
portb=%11110111
' ELSE
' PORTB=0
ENDIF
goto main
End
Por cierto asi quedo el circuito. Uso una resistencia de 10k en mclr porque no hemos declarado que este en off esta opcion. y los botones llevan sus pulldowns para asegurar el estado del pin del PIC
(http://img106.imageshack.us/img106/4894/ctomu7.jpg)
Saludos