Hi,

I have hastily modified your code. It does a red blink normally , but when you pull down the mode pin it goes to the interrupt routine and does a green blink there. Hope this helps.

Code:
@ DEVICE pic16f630
@ DEVICE pic16f630, INTRC_OSC_NOCLKOUT
@ DEVICE pic16f630, WDT_ON
@ DEVICE pic16f630, MCLR_OFF
@ DEVICE pic16f630, CPD_OFF 'MODE TEST
@ DEVICE pic16f630, BOD_OFF 'BOARD TEST
@ DEVICE pic16f630, PWRT_ON
@ DEVICE pic16f630, PROTECT_OFF
'//////////////////////////////////////////////////////////////////
DEFINE OSC 4             ' Tell PBP that the PIC is running @ 4MHz
'//////////////////////////////////////////////////////////////////
ON INTERRUPT GOTO INT_GREEN  ' DEFINE THE PBP INTERRUPT HANDLER HERE
DISABLE                  ' DO NOT PROCESS THE INERRUPT CALLS NOW

'//////////////////////////////////////////////////////////////////
CMCON = 7                'COMPARATOR OFF
VRCON = 0                'VOLTAGE REF. DISABLE 
TRISA = %00011100        'MAKE A.2, A.3, A.4 INPUTS
TRISC = %00000000        'MAKE ALL PORTC OUTPUTS
'//////////////////////////////////////////////////////////////////

'SETUP THE INTERRUPT PROPERTIES HERE********************************************
'///////////////////////////////////////////////////////////////////////////////
OPTION_REG = 0           'ENABLE WEAK PULLUPS (CLEAR RAPU), INTERRUPT ON FALLING EDGE
IOCA       = 0           'DISABLE INTERRUPT ON CHANGE
WPUA       = %00111111   'WEAK PULLUPS ON PORTA 
INTCON     = 0           'LET INTERRUPTS BE-OFF AT THIS MOMENT
'///////////////////////////////////////////////////////////////////////////////


' ALIAS-SYMBOL  DEFINITIONS GOES HERE //////////////////////////////////////////
SYMBOL SENSOR = PORTA.2 'TRIGGERING DEVICE PIN 3
SYMBOL MODE   = PORTA.4 'MODE BUTTON (FLASH/LONG) PIN 12 INPUT
SYMBOL LED    = PORTA.5 'LED POWER UP PIN 2 OUTPUT
SYMBOL RED    = PORTC.3 'RED LED PIN 7 OUTPUT
SYMBOL GREEN  = PORTC.4 'GREEN LED PIN 6 OUTPUT
' END OF ALIAS-SYMBOL  DEFINITIONS  ////////////////////////////////////////////

' DEFINE VARIABLES HERE ////////////////////////////////////////////////////////
I VAR BYTE                 ' TO BE USED IN FOR-NEXT LOOP
' DEFINE VARIABLES HERE ////////////////////////////////////////////////////////

' INITIALIZATION ROUTINE ///////////////////////////////////////////////////////
LED   = 0                  ' TURN-OFF THE POWER LED
RED   = 0                  ' TURN-OFF THE RED LED
GREEN = 0                  ' TURN-OFF THE GREEN LED
LED = 1                    ' TURN-ON THE POWER LED
PAUSE 4000                 ' POWER UP OK
LED = 0                    ' NOW TURN IT OFF
' END OF INITIALISATION ROUTINE ////////////////////////////////////////////////

'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
INTCON = $90               ' SET UP THE GIE BITS AND RA2 INT BIT 
                           ' TO ENABLE INTERRUPT PROCESSING
'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

ENABLE   ' INSTRUCT THE COMPILER TO PUT THE INTERRUPT HANDLING CALLS FROM NOW ON

'////////////// THE MAIN ROUTINE THAT DOES SHORT RED FLASH /////////////////////
MAIN: 
RED = 1                    ' TURN-ON THE RED-LED
I   = 0                    ' RESET THE VARIABLE (FOR-NEXT LOOP)

FOR I = 1 TO 200           ' DO A PAUSE IN A LOOP 200 X 5 = 1000mS 
PAUSE 5                    ' REDUCES INTERRUPT PROCESSING LATENCY BY PBP
NEXT I

RED = 0

FOR I = 1 TO 200           ' DO A PAUSE IN A LOOP 200 X 5 = 1000mS 
PAUSE 5                    ' REDUCES INTERRUPT PROCESSING LATENCY BY PBP
NEXT I

GOTO MAIN                  ' DO-IT FOR-EVER

'///////////////////////////////////////////////////////////////////////////////


DISABLE ' INSTRUCT THE COMPILER NOT TO PUT THE INTERRUPT HANDLING CALLS FROM NOW ON

'/// THE ACTUAL INTERRUPT HANDLER IS RIGHT BELOW ///////////////////////////////
INT_GREEN:
INTCON = $80               ' CLEAR THE INTERRUPT FLAG BUT KEEP GLOBAL ENABLED
                           ' OTHERWISE PBP WILL RE-ENTER THIS ROUTINE
LED   = 1                  ' ON-TILL IN THIS ROUTINE
RED   = 0                  ' TURN-OFF THE RED LED IF IT WAS ON BY A PREVIOUS INSTANCE
GREEN = 1                  ' TURN-ON THE GREEN TO SHOW THAT INSIDE THIS ROUTINE
PAUSE 1000                 ' WAIT A SECOND

GREEN = 0 : PAUSE 1000     ' TURN-OFF AND WAIT
GREEN = 1 : PAUSE 1000     ' TURN-ON AND WAIT
GREEN = 0 : PAUSE 1000     ' TURN-OFF AND WAIT
GREEN = 1 : PAUSE 1000     ' TURN-ON AND WAIT
GREEN = 0 : PAUSE 1000     ' TURN-OFF AND WAIT

LED = 0                    ' GREEN-BLINK DONE NOW TIME TO QUIT
INTCON = $90               ' TURN-ON THE RA2 INTERRUPT BIT  FOR FURTHER PROCESSING
RESUME                     ' GO BACK TO WHAT IT WAS DOING
ENABLE
BTW I commented out the device command as I use MPASM and it compiled okay. Hope this helps.

Copy the code and paste it in MICROCODE STUDIO for better readability.

Regards

Sougata