Extend the Constructions menu. Usually, for instance, you don't have much need for a solid block of wall. But you might want to have a block of floor that is surrounded by walls on one or more sides. Provide a construction option for such things - a "walled building" option, perhaps adjusted in size using umkh like now, perhaps providing more options (diamond flood, square flood, and especially circle flood). Using wasd would allow the user to toggle which walls are present in a rectangular construction, or perhaps to toggle between "no wall", "wall with a gap in the middle", "fortification", and "solid wall"(in a circle-flood, these might instead dictate how large of an arc the walls occupy, W for a wider one and S for narrower, and shift its position clockwise and counterclockwise with A and D, perhaps in that order, perhaps not). The existing band-box constructions could benefit from this layout option as well, and - especially in the case of walls and fortifications - an option for "solid" or "outline". It's not intended to cover all situations, just to make some of the most common ones easy; nothing keeps you from refining the design after.
Allow for "auto-dig" if a planned construction intersects with a wall. This only works if you have access to the side that needs to be excavated(if you want to build an aqueduct, or a floor "bridge", either you need to have access to both sides or to place the structure so it meets a flat wall on the other side), but it does make positioning a bit more forgiving and less irritating. Damp/warm stone errors would suspend the task, allowing you to decide if you want to go ahead without forcing you to dig it out by hand and designate it all over again. The miners are the only people who should actually cross the work site; everyone else should treat it as restricted traffic, or perhaps a forbidden area. Restricted might be simpler - the miners would still think of it as such, but might not have any other way to get to where they need to be, and so will cross it anyway.
Treat the whole building as a single task, with the builder standing at an adjacent point you designate. This spot is considered as having a building on it, until such time as the construction is done, at which point it is released - you cannot build over it. Providing an option to relocate this spot would be helpful.
Once the order is placed, first, any requisite digging will be done.
Then, the building will spawn
multiple hauling orders. These orders, perhaps tagged "Bring item to construction site", need only the appropriate hauling labors.
This would be extremely useful for roads as well (assuming roads become worthwhile again). Also, an indicator showing how much of the material has been gathered would be nice. I'm not sure what the best way to handle interruptions to this process would be. At its most cautious, any danger-related interruption("Interrupted by groundhog") would suspend the entire process, including all related hauling jobs. At its least cautious, it will force dwarves to stop what they're doing but not affect the overall process; the abandoned hauling jobs will stay on the list to be reassigned, but suspending the main order suspends all related tasks.
Or wipes them from the job list entirely, while still reserving the materials for itself somehow; but this may be impractical using the current model. Changing the system so that the dwarf will grab e.g. the NEAREST hunk of obsidian or the NEAREST marble block, rather than specific ones, will allow those tasks to be removed from the manager and save on clutter, rather than suspending them all as a unit(for a large construction, that might be a hundred jobs); it might also allow the construction to be started before you had all materials, though the building would be automatically suspended if all available materials had been brought to the site and you still didn't have enough. For simplicity's sake, it will only give options for material you have at least one of. Attempting to assign more than you have will require a special keypress to override the sanity checking, and will put a very visible red warning on screen until you bring it back within your current stocks. As a related benefit, you could "throttle" the material-hauling process, including a counter (perhaps with numeric entry, all values interpreted as between 1 and 100 inclusive) that limits how many hauling tasks will be spawned at any given time; this means you could have only a few dwarves at any given time working on that
throne room over the lava, while the rest are free to haul stone to those walls across the valley and plug it against possible siege. Or, y'know, to move food around. As an extension of this, allow more generic material selections - you might not care what type of wood or stone your builders use(or, if you're really extravagant, what metal).
Once the materials are present, if the building is large and/or complex(exact details to be determined, but the interface should tell you if it will be required), an architect will be needed to come and design the building. They stand on the designated spot. Experience in architecture does nothing for the quality of the final design(so far as I know, constructions have no quality), but greatly speeds up the design task. If you want a quality mod, you use something that remains a coherent building after construction, such as a bridge. This will give architects a more relevant role in the fortress - and that might not be a bad thing.
It makes perfect sense for all of these things - excavation, materials hauling, and design - to be done in parallel, but all must be finished before the building can proceed. In this case, one might be able to suspend the tasks individually - the incomplete building would essentially be a temporary "workshop" which lists three different activities, each of which can be toggled independently, though all must be finished at some point.
Once all the prior steps are complete, a builder of the appropriate type comes to the site to put the whole thing together. This will take time(depending on the skill of the builder) and ideally should have an indicator showing "Steps complete / Steps total" or something similar. Like the architect, the builder stands where told to stand.
When the last step is done, perhaps with suitable changes in appearance as the structure passes the quarter marks(started, 1/4 done, 1/2, 3/4) or third marks, the whole thing is finished and ready for use, load-bearing, in every way identical to constructions as we have them now - except that the process of building them was far more efficient.