What does the terrain api provide and what would remain consistant on loading

Say I generate some terrain with different tile types such as mountains, plains etc. Is there any way to call up what type of terrain I'm looking up at a coordinate, apply properties to it or should I keep this information stored separately outside?

Yes and No :-) Officially you can't access much more at runtime than the heightmap, but there's an undocumented API to access splat data and basically all stuff you can think of in terrains. On an earlier question I posted a piece of code that does about anything possible with terrains through this API.

EDIT: of course I must mention, it's unsupported and undocumented, so especially if you make a web deployment you risk it will break when a newer version of the web player is released that don't allow the API as it is now anymore. For stand alone you probably fine, as long as you don't upgrade to newer versions of Unity without checking if it still works for you.