This is indeed a challenging scene and sounds very interesting and cool. There are a lot of questions here, I'll try to answer as best I can.
TG2 as a 32 bit app can use up to a theoretical maximum of 4G of memory. In practice it never quite gets there, I've seen it get up around 3.7GB though. 64 bit will definitely help with a scene like you're tackling here.
Yes, the render caches are included in this number, so the larger your cache, the less memory you have for everything else. Thus, though TG2 itself will warn against it, *reducing* the cache size, even down to 50MB/thread, will be advantageous for rendering large scenes. It will render slower, but this is a sacrifice you're going to have to accept for now, given the limitations of TG2. In fact that ties in to another possible strategy...
Which is to just render using 1 core. Yes, much slower! But you avoid a lot of memory use. To do this, you would set min and max threads to 1. The idea of rendering 2 crops with e.g. 2 threads each may be the best balance of render time and resource use.
You should also make sure you're using "Crop to Camera" options in populations, unless you're going to be animating (god forbid, hehe).
Combining objects probably won't help that much, it will limit your distribution options and may not have a big impact on memory use, depending.
Using lower geometry and, especially, lower resolution texture images for objects can definitely help. If none of these plants are in the foreground you could probably even get away with *no* textures (except alpha of course, and even that could be lower resolution), and just use colors with power fractals. You'd still want to use the UV Maps to separate trunk from leaves though.
I think that will be good for a start. Let us know if any of that helps!
- Oshyan