It certainly can be done, although I do not recommend using this in practice. The reason: you can't clearly tell where the cells' boundaries are anymore. However, if you are the only one editing the document, you are free to do what you like.
\documentclass{article}
\makeatletter
\begingroup
\catcode`\^^I=\active
\gdef^^I{\@ifnextchar^^I{}{&}}
\catcode`\^^M=\active
\gdef^^M{\\}%
\endgroup
\newenvironment{mytabular}[1]{%
\catcode`\^^I=\active
\catcode`\^^M=\active
\begin{tabular}{#1}%
}{%
\end{tabular}%
}
\makeatother
\begin{document}
% Note two tabs after b
\begin{mytabular}{lll}
a b c
x yyyyyyy z
\end{mytabular}
\end{document}
As a bonus, the newline ends a row. If you want an empty cell, put {} in place of its content. If you want to split a row into several source lines, append % to them, except for the last one.