Posto la soluzione definitiva al problema che ho adottato:
`
\documentclass{beamer}
\newcounter{ResumeEnumerate0}
\newcounter{ResumeEnumerate1}
\begin{document}
\begin{frame}
\begin{enumerate}
\item primo;
\pause
\item secondo;
\end{enumerate}
\setcounter{ResumeEnumerate0}{\numexpr\value{enumi}}
\end{frame}
\begin{frame}
\begin{enumerate}\setcounter{enumi}{\value{ResumeEnumerate0}}
\item terzo;
\begin{enumerate}[a)]
\pause
\item terzo.a
\pause
\item terzo.b
\end{enumerate}
\pause
\item quarto;
\end{enumerate}
\setcounter{ResumeEnumerate1}{\value{enumi}}
\end{frame}
\begin{frame}
\begin{enumerate}\setcounter{enumi}{\value{ResumeEnumerate1}}
\item quinto;
\pause
\item sesto.
\end{enumerate}
\end{frame}
\end{document}
`
Come vedete ho dovuto utilizzare due contatori, ResumeEnumerate0 e ResumeEnumerate1. Questo perchè, usando lo stesso contatore, se nel secondo frame vengono inseriti comandi \pause i numeri degli elenchi numerati partono dal valore di enumi alla fine del frame in quanto il contatore ResumeEnumerate ha già assunto quel valore. Per evitare ciò è necessario usare due (e non più di due anche in caso di N frame) contatori.
Ovviamente se avete una soluzione ancora più elegante fatemela sapere… 😀