This is eminently possible using pgfpages. It doesn't have a 20 on 1 layout built in (the biggest being 16 on 1) but it's not hard to define one (a bit tedious without a for loop).
\documentclass{beamer}
%\url{http://tex.stackexchange.com/q/78041/86}
\usepackage{pgffor}
\usepackage{pgfpages}
\usepackage{pgf}
\pgfpagesdeclarelayout{20 on 1}
{
\edef\pgfpageoptionheight{\the\paperheight}
\edef\pgfpageoptionwidth{\the\paperwidth}
\edef\pgfpageoptionborder{0pt}
}
{
\pgfpagesphysicalpageoptions
{
logical pages=20,
physical height=\pgfpageoptionheight,
physical width=\pgfpageoptionwidth
}
\def\pgfpgtemp{}
\foreach \i in {1,...,4} {
\foreach \j in {1,...,5} {
\pgfmathtruncatemacro\n{(\i-1)*5 + \j}
\pgfmathsetmacro\ri{1 - (\i - .5)/4}
\pgfmathsetmacro\rj{(\j - .5)/5}
\edef\temp{%
\noexpand\pgfpageslogicalpageoptions{\n}
{
border code=\noexpand\pgfsetlinewidth{2pt}\noexpand\pgfstroke,
border shrink=\noexpand\pgfpageoptionborder,
resized width=.25\noexpand\pgfphysicalwidth,
resized height=.2\noexpand\pgfphysicalheight,
center=\noexpand\pgfpoint{\rj\noexpand\pgfphysicalwidth}{\ri\noexpand\pgfphysicalheight}
}
}
\expandafter\expandafter\expandafter\gdef\expandafter\expandafter\expandafter\pgfpgtemp\expandafter\expandafter\expandafter{\expandafter\pgfpgtemp\temp}
}
}
\pgfpgtemp
}
\pgfpagesuselayout{20 on 1}[a0paper, border shrink=5mm,landscape]
\begin{document}
\foreach \k in {1,...,20} {
\begin{frame}{Frame \k}
This is frame \k.
It is exciting.
\end{frame}
}
\end{document}
