En primer lugar supongo que cuando dices que incluyes la libreria <pic.c>, en realidad quieres decir el archivo <pic.h>, porque que yo sepa no existe el <pic.c>.
Respecto a tener que definir el nombre de los bits/registros no creo que sea necesario, basta con incluir dicha libreria <pic.h>. Es verdad que en esta libreria no se realizan las definiciones pero dependiendo del PIC para el cual compiles llama a otro archivo en el que si se realizan las definiciones concretas para ese PIC (asi si compilas para el PIC16F876 se incluira el archivo <pic1687x.h> que contiene sus definiciones). Tambien es verdad que en algunos casos aislados no están definidos algunos bits/registros, teniendo que modificar manualmente el archivo correspondiente para introducirlos.
No se si te servira para algo pero te adjunto mi libreria para manejar el USART, que me funciona perfectamente en un PIC16F876/7.