Getrc5 bleibt nicht ewig stehen, wenns zulange dauert (ms) gibts 255 als Ergebnis, oder so die Richtung.

Du könntest im Hauptprogramm einmal pro durchlauf einen Getrc5 machen.

Man kann auch Timer2 verwenden, wenn man das bei Config Rc5 mit angibt.

Interrupts müssen immer aktiviert sein eim RC5 einlesen. (Ist bei Dir schon)
Deshalb geht das nicht von einer ISR aus, da dort die IRQs solange gesperrt sind, wie man sich in der ISR befindet.