I'd like to again remind that we are going to forget the most important part of the tree, which is root. Multi-tile tree roots should pierce the soil beneath the forests, creating an entangled net of wood. The same approach as to shape tree's canopy seems suitable here.
I think trees should only grow as high as the soil depth allows, not because of coded limitations but because they should topple over if they exceed some maximum
size, which has to be derived from tree type and wind speed. So, the biomes where the trees have to grow higher to compete for sunlight should have plenty of toppled tree trunks rotting on the ground.
Roots should impede digging, maybe requiring the help of a woodcutter's axe, but if enough of them are dug out, that should cause the tree to weaken and probably die and maybe fall.
Framework for toppling a high column and colliding it with ground and dwarves would definitely be needed, and logs could only be obtained from fallen trunk and major branches after they are processed by a woodcutter. When the tree is cut down, skilled woodcutter might be able to set the direction of the fall.
Maybe some bigger logs should remain useable multi-tile structures, so that they might be used in traps or fixed in place to create a ready-to-use multi-tile wall, or maybe this has to wait for moving fortress parts.
Also, I think elven interference shouldn't really make trees grow faster or something - there really are no mechanisms for such influence. I mean, what exactly are the elves supposed to do to hasten trees' development? We're going to need some kind of mechanism or framework to implement their influence here I think.
I really only wanted to remind about roots, but the topic is so much fruitful you just can't stop suggesting things.