Hi Michael,
Try the following and post results. Where i am now i can't test it
Code:
' I am working on a delay project which uses 2 buttons one for increasing the 
' delay and one for decreasing the delay. I am using the PIC16F84 and have a 
'
' buttons:
' ========
'         connected to PORTB pin 5,6. 
'                   pin 5 : increase
'                   pin 6 : decrease
' LEDS:
' =====
'      PORTB pin 4 : showing the length of the delay, 
'            pin 3 : showing when both buttons are pushed that it saves 
'                    the delay to EEPROM, 
'            pin 7 : showing when IncreaseButton is pushed
'
'      PORTA pin 3 for when DecreaseButton is pushed.

    TRISB=%01100000  ' PORTB<6:5> as input 
                     ' others as output
                     '
    TRISA=0          ' set all PORTA as output
    
    LEDLength   var PORTB.4
    LEDSave     var PORTB.3
    LEDIncrease var PORTB.7
    LEDDecrease var PORTA.3
    
    Delay       var word
    Loop        var word
    PB          var byte
    Increase    con 1
    Decrease    con 2
    Both        con 3
    
    data @0,5,$DC         ' store initial 1.5 sec
    
    PORTB=0 '
            ' Clear all LEDs
    PORTA=0 '

DelayLoop:
    read 0,delay.highbyte ' Read delay
    read 1,delay.lowbyte  ' from EEPROM
    
    ledlength=1           ' Enable Length LED
    
    for loop=0 to delay   ' Do the delay and do PushButton tests
        pause 1
        pb=(PORTB>>5)& 3  ' keep only PORTB.5 and PORTB.6 bits
        
        if pb then        ' If there's at least one push button press
           select case Pb ' choose according thing to do
                  case increase
                       if delay<=60000 then
                          delay=delay+500
                          ledincrease=1
                          endif
                     
                  case decrease
                       if delay>=500 then 
                          delay=delay-500
                          leddecrease=1
                          endif
                     
                  case both
                       ledsave=1
                       write 0, delay.highbyte
                       write 1, delay.lowbyte
                  
                  end select
           pause 100     ' kinda auto repeat delay... can be higher/lower 

           ledincrease=0 ' Clear all pushButtons
           leddecrease=0 '       related
           ledsave    =0 '         LEDs
           endif
        next
    ledlength=0     ' confirm delay is finished
    pause 500       ' wait a little bit
    goto DelayLoop  ' redo the delay and blah blah