I built a fortress in an ocean recently.
Constructions are destroyed when a collapse occurs, so if you want to drop anything into a lake, it needs to be magma cast obsidian.
The easiest way to accomplish what you describe is to build a scaffolding over the lake and (probably) haul magma up in minecarts, then use track stops to dump the magma into the desired shape. For all layers but the second-from-top, the magma will harden to obsidian, then collapse to the lake floor block-by-block to build up from the bottom.
The alternate plan is to build a form, cast an entire layer's worth of obsidian in place, then deconstruct a support construction or use a support pillar linked to a lever to drop the layer.
The second layer from the top of the water will be the most annoying. If you try the first technique above, the obsidian won't fall down in some places. For that layer, and only that layer, you must cast the entire shape in place then drop it. You can do this in the top layer of the water.
All of the collapses will generate steam (harmless) and clouds of obsidian (dangerous). Your scaffolding will need to be several z-levels above the surface of the water to lower the number of carts and dwarves that get knocked off it into the lake/ocean.
Alternately, you can pump water from one z-level up to temporarily make a dry spot in the water, then build stairs and walls down into the lake/ocean. This is basically the same degree of complexity as using a scaled up 2-slit method for aquifer piercing.
For my ocean fortress megaproject, I first cast the outer shell of a small obsidian tower using hauled magma minecarts, then drained it and built a cart spiral to bring more magma up. Then I had infinite magma directly over the construction area and used that for faster obsidian casting.