Hola, primero que nada una preguntita... que lenguaje de programacion estas usando?? (Assembler, Basic, C) Pues depende mucho de que lenguaje usas para poder darte una respuesta concreta...
Otra cosa, tu pic es 16F876 o 16F786

pues no conozco el que indicas.
En todo caso si quieres recibir un dato serial y guardarlo en una variable, lo mejor es por interrupcion (solo es valido cuando el micro tiene implementado en hardware la comunicacion serial). Pues cuando llega un dato serial se produce una interrupcion, y en el codigo de interrupcion es donde guardas la variable y nada mas...
De repente todo eso te confunda un poco, pero si quieres que te ayude un poco mas especifica con que micro vas a trabajar y en que lenguaje.
Ya nos vemos, una abrazo
