I'm not sure whether to post this as a tutorial or reference, but I think is the most fitting forum.
Someone here posted that CC provides a way to "restack" the z-order of drawn objects, so you could (for example) draw a forest then plunk a tower in the middle, and have it set the tower in among the trees automatically based on the base point of the symbols. Well, I couldn't find a way to do this in Inkscape, but did discover that you can write extensions for Inkscape in python (which I had never used).
I posted to the friendly inkscape-users mailing list, and thanks to Kurt I was able to cobble together an extension. It is really slow but it does work. It provides an option of restacking the selected objects in a direction (left to right, right to left, top to bottom, or bottom to top) as well as the point of each object to compare (top left, bottom middle, etc).
Install it by putting the two files from the zip into the Inkscape extension folder and restarting Inkscape. It registers as "Effects->Modify Path->Restack"
I am running on Inkscape 0.46dev+devel, built Apr 28 2007, so ymmv if
running .45 (I think it uses some features that only came in with .46)
Here is a before sample:
and the after:
EDIT: See the last post for the latest version