I'd been looking for this very thing recently and had no luck. We've had a couple of jobs show as BROKEN recently, despite no failures, and I needed to test a script to automatically identify these and notify us of them.
What finally worked:
exec DBMS_SCHEDULER.SET_ATTRIBUTE(name => 'MYJOB', attribute => 'max_failures', value => 2);
Success! Querying DBA_SCHEDULER_JOBS shows this as 'BROKEN'.
As a side note: simply trying to re-enable the jobs that broke, and re-run them, just gave the BROKEN status again. I had to basically copy the existing job creation script, then drop and recreate the identical job.