Estimado, espero te ayude mi nula experiencia en el tema de la comunicacion entre PIC y PC :p
yo estoy haciendo algo parecido, pero es un broadcast (pc) y una serie de pic slave que reciben una cadena de caracteres, verifican si la informacion es para el, si es asi, la procesa, sino, la desecha.
en la interrupcion #int_rda hice lo siguiente
#int_RDA
void rs232()
{
gets(cadena); //Ingreso datos al String CADENA[]
}
la funcion gets() esta dentro de la libreria string.h, por lo que debes incluirla al comienzo de tu codigo fuente.
Con esto, la PIC recibe todo un string de caracteres enviados desde el PC por RS232, y lo unico que falta es procesar ese string para tus propias necesidad. En mi caso, yo separo ese string "cadena" en 4 strings mas cortos y luego los envio a unas matrices de punto.
espero te ayude.....esa fue la unica forma que se me occurio realizar la recepcion de una trama larga de bytes.
Saludos!