Use filegetbyte
Not kind understand your problem but I have experience in handling same big data file problem when using other development language. Using index file is a good solution but it require the development language with random access capability.
Here is the hints that may help.
1. In the index file, you record the data position in terms of bytes for each GPS point, e.g. myhomegps starts at 1353203 byte
2. As show in the help sample, use the following code to retrieve result from the big data file.
FileOpen (c,"data.dat",cRandom)
b = FileGetByte (c, 1353203) 'returns the 1353203 byte in the file.
FileClose (c)
Cheers!