When a byte is received by the UART, it is placed in RCREG and an interrupt is generated. As long as that byte is removed before the next one arrives all will be well (or we'll get an overflow error). As the transmission is at 9600 baud a byte arrives approximately once every mS - an immense amount of time at 32MHz (8000 instruction cycles). That is enough time to execute all the interrupts many times over. If the timer 2 code is being executed and a byte arrives then it will finish the timer 2 code, execute the CCP1 code (if needed) and then deal with the UART code (which is omitted above).
As an exercise, I timed the CCP1 ISR and it takes 38 cycles to execute. The timer 2 ISR takes less than 30 cycles. As I said, ooodles of time. So worst case scenario if a byte arrives just as both interrupts trigger it'll be (much) less than 100 cycles before the byte is removed from RCREG and we've got 8,000 cycles to do it in. I doubt this code uses more than 1% of the available cycles.
Mike.