Regarding using 2 serial ports, I have had great success running two ports at different speeds using the 18F26K22. Sample coding below.

Tim.

Code:
INCLUDE "DT_INTS-18.bas"         ; Base Interrupt System
INCLUDE "ReEnterPBP-18.bas"     ; Include if using PBP interrupts
ASM
INT_LIST  macro    ; IntSource,        Label,  Type, ResetFlag?
        INT_Handler    RX1_INT,  _SERIALIN1,   PBP,  no
        INT_Handler    RX2_INT,  _SERIALIN2,   PBP,  no
        INT_Handler    TMR1_INT, _COUNTER,     PBP,  yes
    endm
    INT_CREATE                   ; Creates the interrupt processor
ENDASM

            RCSTA1 = %11010000                    ' Enable 9bit serial port & continuous receive
            TXSTA1 = %01100100                    ' Enable transmit, BRGH = 1
            BAUDCON1.3 = 1                         ' Enable 16 bit baudrate generator
            SPBRGH1 = 0
            SPBRG1 = B562500                    ' 562500 Baud
            
            RCSTA2 = %10010000                    ' Enable serial port & continuous receive & parity
            TXSTA2 = %00100100                    ' Enable transmit, BRGH = 1
            BAUDCON2.3 = 1                         ' Enable 16 bit baudrate generator
            SPBRGH2 = 1
            SPBRG2 = B38400                        ' 38400 Baud @ 54MHZ