If we are talking about SAS coding from end-to-end (multiple child jobs included from a master one), I cannot see anything else that a macro or rsubmit/autosignon solution.
For a macro approach, you could enclose the job nr.3 into one big macro, and then use the %GOTO statement to skip the desired code as necessary.
See:
http://support.sas.com/documentation/cdl/en/mcrolref/61885/HTML/default/a000209058.htm
"Self"-submitting sequentially the desired jobs may also work, just issue the ENDSAS statement to interrupt job nr.3's session without generating an error.
See:
http://support.sas.com/documentation/cdl/en/lrdict/62618/HTML/default/a000289392.htm
If we are talking about multiple SAS jobs (scripts) submitted externally from SAS (let say JCL, shell script, batch script) then it's a lot more simpler, you just have to control the execution through the JCL/script you are using.
Cheers from Portugal.
Daniel Santos @
www.cgd.pt