Not with the native android maps api, you need to use the google maps web api, i.e. making a http request and parsing the kml xml data. You get the raw xml data from google maps when you add the parameter &output=kml to any route calculation url in google maps.
Yes, also for route calculation. It's the only way I've found so far; and I've already searched for solutions for quite a while. Definitely expensive, in our case we don't update it frequently, we only calculate the route once, but we don't do real-time turn-by-turn nav (which would not be allowed anyway ref. to the Google Maps ToS).
I guess the web maps api is always available via http request to your android app, since all you do is pass parameters along the google maps url. But the web maps api is not equivalent to the native android maps api. The native android maps api is much more limited, especially since the navigation package has been dropped (since sdk 0.9).