Google has released an elevation web service and ElevationService for Maps API v3. Basically you can send it a latlon or a series of latlon’s and it’ll give you the elevations. Or you can send it a path and it’ll send you an elevation profile for that path.
I just sent Google a two point path requesting 3 samples (the two end points plus three points in between) for an area in downtown Charlotte.
1 2 3 4 5 6
Which I could easily pass to Google Charts or to any charting software to plot an elevation profile. You can view the web service docs here.