Hi,
Just my 2cents.If I may ask why do you say you know C well?.Do you know C on a micro pc, min, mainframe, I ask because then I can draw a comparison to what you know and what you want to do with your pic micro
The reason for the 4 bit lcd interface is to save IO pins so instead of 8 for data one can use 4 for data but you break up the commands and characters in nibbles so you send 2 x 4 bit instead of 1 x 8 bits to the lcd
The lcd has it's own controller most are hitachi clone's so the command are mostly the same but some have timing differences.To get back to your C you can write you own libraries if you have time but there are a lot of designs with free C code for lcd the best is to get the datasheet of the lcd you want to use and have a look at the command's you have to use to initialize it etc.The language you code in is what you are comfortable with.The C in linux or window's is sort of the same even at low level you make call's to a device driver etc. the driver will talk to your drive, graphics adapter etc. but you can write your own nvidia cuda driver and use the GPU to to some linear algebra it al depend's what you want to do.There are ton's of tutorial's on the net just "nigel 8bit lcd tutorial"
Enjoy