The tabular extensions are all based on hacking TeX's alignment system which requires some expansion intricacies (that's as much as I understand about it). One trick which sometimes works is to use the control sequences one level below the LaTeX abstraction. This works:
\documentclass{article}
\usepackage{tabularx}
\newenvironment{customTabular}{
% This is the begin code
\begingroup
\tabularx{\linewidth}{l l X}
}
{
% This is the end code
\endtabularx
\endgroup
}
\begin{document}
\begin{customTabular}
Blah & Blah & Blah\\
\end{customTabular}
\end{document}
Edit: The \begingroup...\endgroup are in there because \begin{tabularx} begins a group then expands \tabularx. But since \begin{customTabular} begins its own group you don't need it for this simple case. I suppose if you wanted to have extra code after \endtabular that would not be affected by the contents of the environment you would need it.
\end{tabularx}instead of\end{customTabular}in environment definition. – Yuriy Petrovskiy Sep 29 '11 at 16:23