It may not be ideal, but the enumitem package can certainly handle something like that.
EDIT: I've edited the answer to also include a counter for the example number that goes on the right; it's a bit hacky, and there may be more elegant solutions, especially if it were OK for those to be on the left as well. Maybe someone will have a better idea.
\documentclass{article}
\usepackage{enumitem}
\newcounter{myexample}
\setcounter{myexample}{0}
\newenvironment{myexamples}{%
\hbox{\smash{\raisebox{-1\baselineskip}{\parbox{\linewidth}{\hfill%
\refstepcounter{myexample}(\themyexample)}}}}\nointerlineskip%
\vspace*{-0.5\baselineskip}\begin{enumerate}%
}{%
\end{enumerate}
}
\setlist{noitemsep}
\setlist[1]{label=\Alph.,leftmargin=4em}
\setlist[2]{label=\arabic.,leftmargin=1.5em,labelsep=0.3em,
ref=\arabic{myexample}.\Alph{enumi}.\arabic}
\setlist[3]{label=\alph.,leftmargin=,
ref=\arabic{myexample}.\Alph{enumi}.\arabic{enumii}\alph}
\begin{document}
\begin{myexamples}
\item \begin{enumerate}
\item \begin{enumerate}
\item John is a robber.\label{johnrobber}
\item John is a thief.
\end{enumerate}
\item \begin{enumerate}
\item John robs things.
\item *John thieves things. (compare \emph{thievery}) \label{johnthievery}
\end{enumerate}
\end{enumerate}
\end{myexamples}
As you can see in \ref{johnrobber} and \ref{johnthievery} \ldots
\end{document}

(If you need to share the numbers with another example set, say, for linguex as is, more might need to be done.)
ref=\Alph{enumi}.\arabic{enumii}\alph*in\setlist[3]for "A.2b". See the package documentation. – frabjous Apr 14 '22 at 12:25\hyperlink/\hypertargets with manual numbering, or else simplify theref=options to use just\Alph*,\arabic, etc., and then chain together the\refs to the separately labeled components you want to include each time, which would be a little annoying I admit. (The downvote is pretty mysterious to me too!) – frabjous Apr 15 '22 at 18:22\newcommand{\reftwolv}[2]{\ref{#1}.\ref{#2}}which would then be used like\reftwolv{outerlabel}{innerlabel}. The\arabic{enumii}stuff should be left to theref=stuff that is put in the\setlistcommands, but most likely you don't need to use enumi/enumii/enumiii at all, but just the simpler\Alph*,\arabic*,\alph*shorthands at the end of my examples:\setlist[2]{..., ref=\arabic*}, etc. (Or just leave theref=options out so it defaults to thelabel=options.) – frabjous Apr 15 '22 at 19:28\labelcommands for each the levels right after the\itemcommand for that level, e.g.,\item\label{outerlabel} \begin{enumerate}\item\label{innerlabel} \begin{enumerate}\item\label{innerinnerlabel} John is a robber.– frabjous Apr 15 '22 at 20:18