Die Tabellen-Umgebung tabularx aus dem tabularx-Paket ist etwas speziell. Man kann \begin{tabularx}{<width>}{<col spec>}...\end{tabularx} nicht im Start- und Endcode von \newenvironment benutzen, da die Implementierung von tabularx nach dem String \end{tabularx} sucht, um zum Ende zu kommen. Der Workaround besteht darin, die Makro-Version \tabularx{<width>}{<col spec>}...\endtabularx zu verwenden. Siehe https://tex.stackexchange.com/q/42325/35864.
Bei ltablex scheint das nicht zu funktionieren. Da geht es dann aber mit einem anderen Trick: https://tex.stackexchange.com/q/208850/35864.
\documentclass{scrbook}
\usepackage{ltablex}
\usepackage{setspace}
\usepackage{environ}
\NewEnviron{tabelle}[2]{%
\begin{spacing}{.7}%
\renewcommand{\arraystretch}{1.5}%
\begin{tabularx}{#1}{#2}%
\BODY
\end{tabularx}%
\end{spacing}}
\usepackage{blindtext}
\begin{document}
\begin{tabelle}{\linewidth}{|X|X|}
\hline
\blindtext & \blindtext\\\hline
\blindtext & \blindtext\\\hline
\blindtext & \blindtext\\\hline
\blindtext & \blindtext\\\hline
\blindtext & \blindtext\\\hline
\blindtext & \blindtext\\\hline
\end{tabelle}
\clearpage
\begin{spacing}{.7}%
\renewcommand{\arraystretch}{1.5}%
\begin{tabularx}{\linewidth}{|X|X|}
\hline
\blindtext & \blindtext\\\hline
\blindtext & \blindtext\\\hline
\blindtext & \blindtext\\\hline
\blindtext & \blindtext\\\hline
\blindtext & \blindtext\\\hline
\blindtext & \blindtext\\\hline
\end{tabularx}%
\end{spacing}
\end{document}
Eine andere Möglichkeit ist in https://tex.stackexchange.com/q/196993/35864 gezeigt. Die schien aber bei mir nicht zu funktionieren, wenn die spacing-Umgebung noch involviert war. In diesem Fall scheint es mir aber möglich, auf spacing als Umgebung zu verzichten und stattdessen einfach \setspace zu nehmen (die Zusätzliche Mühe, die spacing sich macht, den vorherigen Absatz zu beenden und am Übergang zum folgenden Absatz die Abstände richtig zu setzen, lohnt sich bei einer Tabelle wohl eher nicht). Dann ginge auch
\documentclass{scrbook}
\usepackage{setspace}
\usepackage{ltablex}
\usepackage{etoolbox}
\makeatletter
% get rid of \par (there are two empty lines in the definition by ltablex)
\patchcmd{\TX@endtabularx}{\par}{}{}{}
\patchcmd{\TX@endtabularx}{\par}{}{}{}
\patchcmd{\TX@endtabularx}
{\end{tabularx}}
{\endtabularx\endgroup}
{}{}
\makeatother
\newenvironment{tabelle}[2]
{\setstretch{.7}%
\renewcommand{\arraystretch}{1.5}%
\tabularx{#1}{#2}}
{\endtabularx}
\usepackage{blindtext}
\begin{document}
\begin{tabelle}{\linewidth}{|X|X|}
\hline
\blindtext & \blindtext\\\hline
\blindtext & \blindtext\\\hline
\blindtext & \blindtext\\\hline
\blindtext & \blindtext\\\hline
\blindtext & \blindtext\\\hline
\blindtext & \blindtext\\\hline
\end{tabelle}
\clearpage
\begin{spacing}{.7}%
\renewcommand{\arraystretch}{1.5}%
\begin{tabularx}{\linewidth}{|X|X|}
\hline
\blindtext & \blindtext\\\hline
\blindtext & \blindtext\\\hline
\blindtext & \blindtext\\\hline
\blindtext & \blindtext\\\hline
\blindtext & \blindtext\\\hline
\blindtext & \blindtext\\\hline
\end{tabularx}%
\end{spacing}
\end{document}