Reception without interrupt in USART of PIC18
The trick is that when interrupts are disabled the RCIF interrupt flag bit is still set, it just doesn't generate an interrupt. Reading a byte from the RCREG receiver data register clears the bit on most PIC18 chips I believe so that leaves at simple as:

if (PIR1.RCIF)        // We have a byte
   new_data = RCREG;  // Do something with it


Another thing is that if you get an overflow error because another byte arrives before you've read the first you'll also want something like the following to clear the error condition:

if (RCSTA.OERR)       // We had an overflow error
{
    RCSTA.CREN = 0;   // Clear the CREN bit to reset it
    RCSTA.CREN = 1;   // Re-enable continuous receive
}


The above will probably vary in syntax depending on the compiler you're using but hopefully gives you the general idea.