Im konkreten Fall wäre es tatsächlich das einfachste, den Spaltentyp für die erste Spalte zu wechseln, wie @saputello das schon vorgeschlagen hat. Aber in der ersten Spalte könnte ja auch mehr Text stehen, der tatsächlich umbrochen werden müsste.
Die Zellen von `p`-Spalten werden als `\parbox` mit der Option `t` gesetzt. Steht ganz am Anfang einer solchen Box ein `\onslide`, dann wird der eigentliche Inhalt erst in der zweiten Zeile ausgegeben. Den genauen Grund für dieses Verhalten kenne ich nicht, aber es lässt sich verhindern, wenn man sich vor dem `\onslide` schon im horizontalen Modus befindet. Das kann man durch ein vorangestelltes `\leavevmode` oder `\hspace{0pt}` oder `\mbox{}` erreichen.
\documentclass[12pt]{beamer}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage{array}
\begin{document}
\begin{frame}
Anfang \fbox{\parbox[t]{5cm}{\onslide<2->{Das ist ein Text. Das ist ein Text. Das ist ein Text. Das ist ein Text. Das ist ein Text. }}} Ende
\vfill
Anfang \fbox{\parbox[t]{5cm}{\leavevmode\onslide<2->{Das ist ein Text. Das ist ein Text. Das ist ein Text. Das ist ein Text. Das ist ein Text. }}} Ende
\end{frame}
\end{document}
![alt text][1]
Wenn man das in der Tabelle umsetzen will, würde ich das Paket `array` und die erste Spalte als `>{\leavevmode}p{5mm}`
>{\leavevmode}p{5mm}
definieren. Das signifikante Leerzeichen am Ende der Tabellenzeile lässt sich verhindern, wenn Du das Argument von `\onslide` schon vor dem Umbruch der Tabellenzeile beendest:
\documentclass[12pt]{beamer}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage{array}
\begin{document}
\begin{frame}
\begin{tabular}{>{\leavevmode}p{5mm}>{\leavevmode}p{5cm}|p{5cm}}
1. & Das ist ein Text. Das ist ein Text. Das ist ein Text. &$a^2+b^2 = c^2$\\
\onslide<2->{2. & Das ist ein Text. Das ist ein Text. Das ist ein Text. &$a^2+b^2 = c^2$}\\
\onslide<3->{3. & Das ist ein Text. Das ist ein Text. Das ist ein Text. &$a^2+b^2 = c^2$}\\
\onslide<4->{4. & Das ist ein Text. Das ist ein Text. Das ist ein Text. &$a^2+b^2 = c^2$}\\
\end{tabular}
\end{frame}
\end{document}
![alt text][2]
Wenn die `\onslide` Befehle direkt aneinander anschließen, kannst Du auch auf die geschweiften Klammern verzichten:
\documentclass[12pt]{beamer}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage{array}
\begin{document}
\begin{frame}
\begin{tabular}{>{\leavevmode}p{5mm}p{5cm}|p{5cm}}
1. & Das ist ein Text. Das ist ein Text. Das ist ein Text. &$a^2+b^2 = c^2$\\
\onslide<2->2. & Das ist ein Text. Das ist ein Text. Das ist ein Text. &$a^2+b^2 = c^2$\\
\onslide<3->3. & Das ist ein Text. Das ist ein Text. Das ist ein Text. &$a^2+b^2 = c^2$\\
\onslide<4->4. & Das ist ein Text. Das ist ein Text. Das ist ein Text. &$a^2+b^2 = c^2$\\
\end{tabular}
\end{frame}
\end{document}
Und wenn die Tabelle zeilenweise aufgedeckt werden soll, kannst Du die erste Spalte auch als
`>{\leavevmode\onslide<+->}p{5mm}` als
>{\leavevmode\onslide<+->}p{5mm}
definieren und Dir damit Schreibarbeit sparen:
\documentclass[12pt]{beamer}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage{array}
\begin{document}
\begin{frame}
\begin{tabular}{>{\leavevmode\onslide<+->}p{5mm}p{5cm}|p{5cm}}
1. & Das ist ein Text. Das ist ein Text. Das ist ein Text. &$a^2+b^2 = c^2$\\
2. & Das ist ein Text. Das ist ein Text. Das ist ein Text. &$a^2+b^2 = c^2$\\
3. & Das ist ein Text. Das ist ein Text. Das ist ein Text. &$a^2+b^2 = c^2$\\
4. & Das ist ein Text. Das ist ein Text. Das ist ein Text. &$a^2+b^2 = c^2$\\
\end{tabular}
\end{frame}
\end{document}
[1]: http://texwelt.de/wissen/upfiles/tw_opb1.png
[2]: http://texwelt.de/wissen/upfiles/tw_opb2.png