Are you displaying the same "information" on all 5 strings or calculating the "content" for each string on the fly as you go about updating them?
Reason I ask is that 5 strings times 28 LEDs times 3 bytes per LED equals 420 bytes and the 16F690 only has 256 bytes of RAM.