A mí se me ocurre que puedes poner el PIC en modo IDLE con el núcleo parado y los periféricos en marcha.
Como oscilador puedes utilizar el interno si no tienes necesidad de mucha precisión, trabajando a una frecuencia baja para que los periféricos consuman poco.
Un contador contará los pulsos de reloj. Cuando llegue el flanco, lees el contador y restas la lectura anterior. Así obtienes el tiempo entre flancos en unidades de oscilaciones de reloj.
Si necesitas más precisión tendrás que poner un resonador o un oscilador de cristal. Cuanto más baja sea la frecuencia menos consumo tendrá el contador en marcha y menos precisión en la medida.
Saludos.