There is, you can poll the GPIO pin and reset one of the timers. Wait for the next pulse, and read the timer.
However, you need to be aware that the timers only have limited resolution.
Do it in small steps. Don't try to do it all in one go.
Make sure you can read the pulses first, perhaps toggle another GPIO pin configured as an output on each pulse. Make sure you understand the TRIS and PORT registers.
Learn how to use the timers (note that the timers are not all the same by the way, there are some subtle differences between them).
Then, instead of polling the GPIO pin, consider using the RB0/INT external interrupt pin. You don't yet need to use an interrupt, you can just poll and reset the INTF flag. The benefit of using an edge triggered input rather than polling a GPIO pin is that it's possible you might miss a very narrow pulse when polling.
Then you might want to consider using interrupts. If you've never done this then the concept can be a bit of a hurdle, and it does take time to become comfortable with it.
I've been doing PICs since the early 90s, I still do every project in small stages, unit testing each part, and gradually putting it all together. Nobody writes a complete solution in one step (and expects it to work!)