You might want to look into the poorly documented (because I haven't finished the new doc I was writing) templating wizard for forms with multiple steps.
That said, you can conditionally add sections something like this:
if {![ad_form_new_p -key object_id]} {
ad_form -extend -name my_form -form {
{done:text(button) {label "Done}}
}
}
Then in your processing section (on_submit or edit_data)
if {[exists_and_not_null done]} {
ad_returnredirect back_to_previous_page
ad_script_abort
}