My suggestion would be to make another seed from that seed specified for object generation, meaning that the "object" seed would always be the same for the same terrain seed. You could also do this for water / beaches for example. First generate "hard" terrain (dirt, rocks, grass), then make a seed out of that seed and make a wet terrain (sand, water), and then make another seed from base seed to spawn trees and stuff.
That sounds like a good idea. My question is, how to use that seed to determine where objects (trees, bushes, structures, etc) are placed in the world?