Actually, the main thing you would need to do, unless I misunderstood your question, is to simply configure receive and transmit interruptability of your process (in your case receive should be enough).
tha way, everytime a character is sent (providing you've properly configured the CLK source and divisors to get a matching baud rate on both ends), an interrupt is raised. Then you can store that character from the RECEIVE buffer into a temporary variable, et a flag such as charReceiveed = TRUE and simply deal with it however you please in the main loop.
All that is throughly explained in the datasheets with all the interrupt vectors and associated registers.
Another thing you should consider is holding a character buffer to store incoming charaters in the event they arrive faster then the system can service them (unlikely if it's just a matter of manual inputs, but of concern if you've got automated responses through internet of C socket code running on your PC).