So you have a huge collection of records, and you want to selectively read the ones that meet certain criteria on certain columns. That sounds like a database problem to me. You could import your file into a database, and then use the "database" package to read the records you want.
I confess I have never used the database package, so I can't vouch for it.
If you want something more quick-and-dirty, think up a function interface that has whatever flexibility you need -- maybe specifying max and min for latitude is all you need -- and then write an octave-callable C routine using mkoctfile. That I can vouch for -- I do it regularly, and it works great.
Hope this helps.