There's more different display controller chipsets, protocols and hardware interfaces than you can shake a stick at. Rolling your own driver for an 8 bit PIC from the controller datasheet will be an exercise in heavy frustration. Going bitmapped to start with is also crazy - simply outputting a single changeable character to the display (positioned top left) will require dozens of lines of code, not including defining a font table.
There's a dammed good reason why most of Microchip's low end development boards with displays came with
HD44780 compatible character LCDs. However a HD44780 display does require a lot of I/O pins: 11 for the easier to use full eight bit mode, 7 for four bit mode or 6 for write only four bit mode. so if short of pins, its quite common to sacrifice performance and hang it off an 8 bit I2C I/O expander, e.g
PCF8574. Even writing a driver for a 'vanilla' parallel interface HD44780 display can be challenging enough for the less experienced PIC programmer . . .