well, i wasn't really looking to decouple loading. once stuff is loaded, i was trying to come up with a way that a ground drawing routine would only need to know y given x,z for procedural or lookup mesh displacement, and texture for a given quad. that would allow the user to use any data structures they wanted.
but i've come to the conclusion that its probably both inefficient and not easily done.
so it looks like a chunk based system is the way to go. for level type games, you can just have one big chunk. for big levels and open worlds, you have multiple chunks.
and then you simply implement however killer a texturing method you want.
user defined chunk size should be doable. so they still have flexibility there.
but the texturing method will dictate the texture data required (splat vs tiled vs mega, etc).