You could decide that the exit status 77 for instance means exit any level of subshell, and do
set -E
trap '[ "$?" -ne 77 ] || exit 77' ERR
(
echo here;here
(
echo there;there
(
exit 12 # not 77, exit only this subshell
);
echo ici;ici
exit 77 # exit all subshells
);
echo not here
);
echo not here either
set -E in combination with ERR traps is a bit like an improved version of set -e in that it allows you to define your own error handling.
In zsh, ERR traps are inherited automatically, so you don't need set -E, you can also define traps as TRAPERR() functions, and modify them through $functions[TRAPERR], like functions[TRAPERR]="echo was here; $functions[TRAPERR]"