There are various things to write in PBP code but what would be the best order? I put the things empirically but is there an optimal way do do it?

DEVICE DECLARATION
'--------------------------------------------------------------------------
@ device pic16F690, intrc_osc_noclkout, BOD_OFF, PWRT_OFF, wdt_off, mclr_off, protect_off
'--------------------------------------------------------------------------

EEPROM PRESETS
'--------------------------------------------------------------------------
DATA @0,0
'--------------------------------------------------------------------------

OSC DEFINE
'--------------------------------------------------------------------------DEFINE OSC 8
'--------------------------------------------------------------------------

LCD DEFINES
'--------------------------------------------------------------------------
DEFINE LCD_DREG PORTB
...etc
'--------------------------------------------------------------------------

VARIABLES DECLARATIONS
'--------------------------------------------------------------------------
respawns VAR BYTE
'--------------------------------------------------------------------------

CLEAR STATEMENT
'--------------------------------------------------------------------------
CLEAR
'--------------------------------------------------------------------------

REGISTERS SETTINGS
'--------------------------------------------------------------------------
INTCON = 0
TMR0 = 98
T2CON = %00000000
PR2 = %00110001
OSCCON = %01110001
CM1CON0.7 = 0
CM2CON0.7 = 0
ANSEL = %00000000
ANSELH = %00000000
ADCON0.0 = 0
OPTION_REG = %01000110
TRISA = %111111
TRISB = %0000
TRISC = %00000000
WPUA = %011111
WPUB = %0000
PORTA = %011111
PORTA.5 = 0
PORTB = %0000
PORTC = %00000000

SYMBOLS DECLARATION
'--------------------------------------------------------------------------Symbol head = PORTA.0
...etc
'--------------------------------------------------------------------------

VARIABLES INITIALIZATION
'--------------------------------------------------------------------------
a = 0
...etc, and:
READ respawns_,respawns
'--------------------------------------------------------------------------

INTERRUPTS SETTINGS
'--------------------------------------------------------------------------
a = PORTA 'clear any mismatch with latched values
INTCON = %00001000
IOCA = %011111
IOCB = %0000
'--------------------------------------------------------------------------


SET INT HANDLER
'--------------------------------------------------------------------------
ON INTERRUPT GOTO in_sig
'--------------------------------------------------------------------------

START:
normal code here

in_sig:
(the int handler)