Do it as a single 2D area. Create a 2D connector inside the 2D area to represent the dam. Make sure you select the 2D domain equation. Start the 2D area dry. Create a flow boundary condition on the upstream side and run it long enough to fill the reservoir up. If you are going to do a bunch of runs, it might save some computer time if you write out a restart file after filling the reservoir that you can then use for your initial conditions instead of having to fill it each time. So you should have a dam that has water on one side and is dry on the other side.
You could then add a dam break to the 2D connector and choose a breach formation time of a fraction of a second. As far as I know, that would cause the breach to completely form in a single time step and would be the same as an instantaneous dam break.