I like to drive 7-segment displays with a CAT4016 constant current LED driver.
http://www.catsemi.com/datasheets/4016.pdf

One CAT4016 has 16 output channels, so it can drive two 7-seg displays with decimal point. It takes 3-4 pins from your PIC to drive it (Serial In, Clock, Latch, and Blank if needed) and many units can be daisy chained together.

Here's a board with 2 CAT4016's on the back and a 4 digit LED display on the front...






Steve