You see, that's the kind of stuff I had planned for Obsidian!
My original idea (and I've got a large piece of paper with some architectural diagrams on it around here somewhere... *rummage*)
was to have an intermediate format for storing the DF world in. DFHack will be one of the standard loaders for this format, i.e. loading a map directly from DF. But you could make your own loader, i.e. load the map directly from a voxel-based fort editor, etc.
Hell, if Toady has the time/inclination he could even decide to write a DF save file loader for offline visualizing
The format will also provide serializers for saving to/loading from storage in whatever format you could shake a stick at.
The reason for an intermediate format is twofold:
1) going the memory dump route would tie each file too closely to the platform - so sharing saved forts between linux, max and windows versions of Obsidian would be a nightmare.
2) An intermediate format can be made version-less and support best-effort implementation by tools.
The second reason needs some explanation - if you take a step back and look at the problem from a different viewpoint (licking a frog might help) we're basically dealing with a highly structured collection of information. You've got a bunch of discrete cells in a 3D cube - each cell has certain base properties and can contain a list of objects (items, creatures, constructions). The cell itself can be assigned to other objects, either singly or in groups (buildings, burrows, etc.) The rest, all of the niggling details, are just the effect of each cell/object having different properties/tags/metadata.
Toady will most likely shift the details around a lot, but the concept of a cube of cells won't change that quickly. So, as long as any tool that uses this format can handle the concept of a cube of cells, it will be able to load a saved/designed fort.
It might not understand all of the properties of a cell/object (Toady might have introduced new building types, or constructions) but it would be able to load it and maybe display a ? mark or something, instead of crashing or throwing a tantrum. And it can write the cells back out after it's work is done, passing through anything it doesn't understand just in case the next tool or a future version of itself will.
Such an intermediate format is an ambitious undertaking, true, but we do that regularly in the games industry ... and as long as you stay away from a few pitfalls it is very definitely doable.