Sill close... try this... should work

Code:
'Chip Registers

CMCON = 7 'disable comparators
TRISA = %11111111 'PortA inputs
TRISB = %00000000 'Portb outputs

'Declare and init vars

sw0 var porta.0 'Switches 
sw1 var porta.1
sw2 var porta.2
sw3 var porta.3

led0 var portb.0 'LEDs
led1 var portb.1
led2 var portb.2
led3 var portb.3

MaskSwitch var byte 'Select/Case Var


portb = %00000000 'Set portb low 

start:
MaskSwitch = porta & $0F 'Care about only PORTA.0 thru PORTA.3

                                           
Select Case Maskswitch 'Wait for user input

     case 1
          gosub sw0_proc

     case 2
          gosub sw1_proc

     case 4
          gosub sw2_proc

     case 8
          gosub sw3_proc

End select
Goto start

sw0_proc: 'Stop waitin and start workin
     toggle led0 'toggle Port LED
     while sw0   'waiting untill sw is release
     wend
     pause 20   'cheap debounce delay
     return

sw1_proc:
     toggle led1 'toggle Port LED
     while sw1   'waiting untill sw is release
     wend
     pause 20   'cheap debounce delay
     return

sw2_proc:
     toggle led2 'toggle Port LED
     while sw2   'waiting untill sw is release
     wend
     pause 20   'cheap debounce delay
     return

sw3_proc:
     toggle led3 'toggle Port LED
     while sw3   'waiting untill sw is release
     wend
     pause 20   'cheap debounce delay
     return