Yep, the Android (and iOS I think) Google map apps do allow caching of map data but it's only for use within the said app.
And yes, openstreetmap may be an alternative if there are enough community to contribute in the areas the OP is interested in.
There is an example of using locally cached OSM tiles with OpenLayers
http://wiki.openstreetmap.org/wiki/Open ... es_Example - not sure if even RPi 2 and recent browsers do run OL well enough...
http://raspberrycompote.blogspot.com/ - Low-level graphics and 'Coding Gold Dust'