Una forma:
Por interrupción externa por flanco ascendente en RB0 o por poleo detectas cuando pasa a “1”. Habilitas interrupción del Timer0, lo reseteas (Timer0=0) y esperas a que pase a “0” el pulso. Lees el valor del Timer y dependiendo del cristal utilizado puedes calcular el tiempo transcurrido.
Seguramente el pulso tendrá un periodo mayor al que puedes medir con el Timer antes del primer overflow, así que debes utilizar un registro adicional para realizar el conteo de desbordamientos del Timer.
Aclara con que lenguaje piensas realizar la programación del PIC para que podamos ayudarte más precisamente.
Por ejemplo en C,
aquí puedes encontrar algunos ejemplos que te sirvan.
Saludos!