Is there a way to avoid an infinite loop and reduce CPU power consumption when using PIC and timer0 interrupt?
If you're driving an LED matrix, I would not think the micro power consumption would be all that significant. 

If you put the micro to sleep, the clock stops and you get no interrupt from timer 0 to bring it back. You could use the watchdog timer to bring it back, but it is very variable and the delay may be as much as 25ms.  

If you really want to reduce the power consumption and keep time you can run the micro with a 32kHz crystal, which will keep reasonable time and only draws microamps (depending on what else is turned on). 

You need to RTFM (datasheet) about the various clock types and modes. There's also a reference manual from Microchip with more information. And then you can figure out how to get your compiler to give the required instructions to the chip.