I find Mapdroyd to be a pretty good solution for offline navigation. It does not require a data connection and you can choose which maps to download. It does not have turn-by-turn style directions, but it can locate you on a 2D plot of a map in realtime once your GPS signal locks on.
I was excited to hear about Google adding offline turn-by-turn, however, I haven't seen any way to explicitly tell it to cache data for a geographic area. It's supposed to just do it intelligently based on where you are, but I don't find this to be a reliable solution.
There may be other apps out there more like a full fledged "TomTom" for android, but everything I have seen has gotten poor reviews.
As far as I understand, the GPS in phones does not implicitly rely upon a data connection. I certainly have been able to use the GPS location features in my phone without data.