Can't help you with C, but a 250mS timer routine would be useless, you could (and would) miss loads of data in the 250mS.
If you want interrupt driven routines then best to choose a PIC with a hardware UART, otherwise you need to check for the presence of a start bit VERY much more often, depending on baud rate.
A software option would require an interrupt as the start bit begins, which could be done if the PIC supports interrupt from a pin change - this is usually available on PortB (interrupt on change on portb). Check the datasheet, see what the 12F629 has got.