I think you'd need several textures, or maybe a texture atlas, to render nice trees, different bark, moss etc. You'd also need normal or parallax maps (or go for tesselation).
Nice ideas. I can go for texture blending and normal mapping, but I don't want to use parallax mapping for bark. I also want to avoid the need for changing the texturing state more than once; instancing needs to work well. Texture atlasing is already implemented on the software side, but I just didn't know the formal term for it.
I plan on experimenting with special shaders for highly-realistic tree rendering, involving both texture mapping and lighting. I think if I develop a custom solution for bark-texture rendering, it will blow a lot of hats off. It's already setup for skinning and I have a paper to read about practical/low-cost tree targeted wind simulation.
Well, for multiple materials I guess I'd need another vertex attribute... that sounds like no fun. If I went for multiple index buffers I could save a lot of data bloat, prevent a lot of shader complexity, and it can be optional, but instancing will be half as effective. I guess when I have more time, I can add this feature as another option.