As you already have the hardware uart connected to the GPS unit, I'll ask how do you have the PC connected? 4800 baud is standard for a GPS unit, so you're good there. Skimask has correctly suggested that you will find that PicBasic's Hserin command does let you accept an entire string at once, instead of reading in a single character at a time and building a string like you are trying to do. You'll have to declare an array variable big enough to accept all of the characters in your string.
I would use an interrupt to capture the incoming string from the GPS unit, and then either DEBUG or SEROUT to send the string out to the PC. There are a few serial interrupt example programs on the MicroEngineering Labs website, and there are a lot of examples on this forum, and debug and serout or serout2 are explained well in the manual.

Jerry.