You can only have 1 ON INTERRUPT handler on a 16F.

In that handler, you can monitor the different Flags associated with the different interrupts and then execute the appropriate routine.

In your case, you want TMR0 and the USART, so you need to watch for TMR0IF and RCIF.

Most people only check for the flag, but I also like to make sure the Interrupt source is Enabled too, by checking TMR0IE and RCIE. That way it will stil work according to plan when you disable/enable interrupts at random.

For your suedo code, it might look like this...
Code:
DEFINE OSC 4
DEFINE HSER_RCSTA 90h
DEFINE HSER_TXSTA 24h
DEFINE HSER_BAUD  9600
DEFINE HSER_CLROERR 1

PEIE   VAR INTCON.6
RCIE   VAR PIE1.5
RCIF   VAR PIR1.5
T0IE   VAR INTCON.5
T0IF   VAR INTCON.2

OPTION_REG = %00000110  ' Prescaler = 128, RB pull-ups on
PEIE = 1           ' enable Peripheral interrupts
T0IE = 1           ' enable TMR0 interrupts
RCIE = 1           ' enable USART RX interrupts

On INTERRUPT GoTo IntHandler 

Loop:
    ........
    ........
    ........
Goto Loop

Disable
;___________________________________
IntHandler:
    IF RCIE and RCIF then USART_RX
    IF T0IE and T0IF then TMR0_OVR
    HIGH PORTB.0  ; indicate "Unchecked Interrupt"
Resume

;___________________________________
TMR0_OVR:
    .......
    .......

    T0IF = 0  'Clear Timer0 flag
Resume

;___________________________________
USART_RX:
    .......
    .......

    Dummy = RCREG ' Clear USART Flag by reading USART data
Resume
HTH,