Most PIC BASIC's include the 'PulseIn' command, this measures the width of an incoming pulse.
It's simple to do in assembler as well, the pulse width varies from 0.5mS to 1.5mS (at a 20mS repetition rate). Simply check the input line until it goes high (start of the pulse), then keep incrementing a register (or more than one if required) until the input goes low again. If required, after each increment you could call a delay, in order to keep the requirements down to a single register - a 10uS delay would give a value from 50 to 150, which fits nicely in a single 8 bit register.
Most PIC's also have a CCP facility, you can use that to capture the incoming pulse width, but for R/C pulses a simple software loop is more than good enough.