Hier nun die von mir bereits angedeutete Lösung auf Basis von [`filecontents`][1]:
\documentclass{article}
\usepackage{selinput}
\SelectInputMappings{
adieresis={ä},
germandbls={ß},
}
\usepackage{filecontents}
\newcounter{extquotes}
\newcommand*{\extquotesbasename}{\jobname}
\newenvironment*{extquote}{%
\stepcounter{extquotes}
\aftergroup\inputcurrentextquote
\filecontents{\extquotesbasename-\theextquotes.ext}%
}{%
\endfilecontents
}
\newcommand*{\inputcurrentextquote}{%
\begin{quote}
\begin{quote}% Diese Umgebung kann auch durch eine eigene Umgebung ersetzt werden,
% wenn das Zitat anders formatiert werden soll, beispielsweise kleiner
% gesetzt oder mit einer Überschrift versehen werden soll.
\input{\extquotesbasename-\theextquotes.ext}%
\end{quote}
}
\newcounter{extquote}
\newcommand*{\inputallextquotes}[1][\extquotesbasename]{%
\inputextquotesfromtill[#1]{1}{\value{extquotes}}%
}
\makeatletter
\newcommand*{\inputextquotesfromtill}[3][\extquotesbasename]{%
\setcounter{extquote}{#2}%
\addtocounter{extquote}{-1}%
\@whilenum \value{extquote}<#3\do {%
\stepcounter{extquote}%
\begin{quote}
\begin{quote}% Diese Umgebung kann auch durch eine eigene Umgebung ersetzt werden,
% wenn die später geladenen Zitate anders formatiert werden sollen,
% beispielsweise kleiner gesetzt oder mit einer Überschrift versehen
% werden sollen.
\input{#1-\theextquote.ext}
\end{quote}
}%
}
\makeatother
\usepackage{lipsum}
\begin{document}
\section{Test}
\begin{extquote}
\lipsum\relax
\end{extquote}
\begin{extquote}
Auch Fußnoten\footnote{Das ist eine Fußnote} funktionieren hier, genau wie
auch \emph{Hervorhebung} und \textbf{fett} oder
\begin{verbatim}
Verbatim-Umgebungen mit Dingen wie \texttt{\undefined}.
\end{verbatim}
\end{extquote}
\section{Load}
\inputallextquotes
\end{document}
Und wenn man die ganzen ausgelagerten Zitate gerne in einer anderen Datei ebenfalls auf einen Schlag laden will, dann kann man das auch machen, indem man dort dieselben Definitionen verwendet und dann bei `\inputextquotesfromtill` als erstes optionales Argument den gemeinsamen Teil der Dateinamen angibt und als weitere Argumente die Nummern des ersten und des letzten Zitats, das eingebunden werden soll.
Trickreich sind daran eigentlich nur zwei Dinge:
1. Die Ausführung von `\inputcurrentextquote` via `\aftergroup` nach dem Ende der `extquotesbasename`-Umgebung. Das ist notwendig, weil man nicht einfach Code nach `\endfilecontents` ausführen kann. Das hat mit der Besonderheit der `filecontents`-Umgebung zu tun. Aus demselben Grund muss auch `\filecontents` und `\endfilecontents` statt `\begin{filecontents}` und `\end{filecontents}` bei der Definition der neuen Umgebung verwendet werden.
3. Die Verwendung der Schleifenanweisung `\@whilenum`, die intern im LaTeX-Kern definiert ist. Diese kann man ggf. auch durch ein Schleifenkonstrukt aus einem Paket wie [`ifthen`][2] ersetzen.
[1]: http://www.ctan.org/pkg/filecontents
[2]: http://www.ctan.org/pkg/ifthen