Hi Jannie,
I can think of two things you might try. First, after you have the \80 in your serin command, add a \13 at the end. This will stop receiving the string variable if there is a carriage return (13) in the incoming message. You may have to find another character to signal the end of your message besides 13, but this might get you started. The other method would require using a hardware uart and keep checking the RCIF flag to see if there is a character waiting to be read. When the buffer is empty you're finished.
Personally, I recommend going with the hardware uart route, and using Darrel Taylor's Instant Interrupts. Then whenever there is data coming into the microprocessor from the modem, your program will go and get it.

Good Luck,
Jerry.