Ich habe dein Beispiel nochmal neu geschrieben. Jetzt kannst du `\par` zwischen den Wörtern benutzen um Zeilenumbrüche zu erhalten.
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{longtable}
\usepackage{array}
\newcolumntype{C}[1]{>{\centering\arraybackslash}p{#1}}
\newenvironment{menu}
{%
\large
\begin{longtable}{|C{.2\linewidth}|C{.4\linewidth}|}
\hline
& \textbf{Montag} \tabularnewline
\hline
\endhead
}
{\end{longtable}}
\long\def\row#1{\dorow#1\enddorow}
\newcommand\row[1]{\dorow#1\enddorow}
\long\def\dorow#1,#2\enddorow{%
#1 & #2 \tabularnewline
}
\begin{document}
\begin{menu}
\row{Menü 1,Fruchtiges \par Hähnchencurry \par Reis \par Möhren}\hline
\end{menu}
\end{document}
![alt text][1]
---
In ConTeXt MKIV kann man das `database`-Modul verwenden um direkt CSV zur Tabelleneingabe zu verwenden. Hier kann man auch ohne weiteres Zutun `\\` für Zeilenumbrüche verwenden.
\usemodule[database]
\startsetups table:menu
\setupTABLE[align={middle}]
\setupTABLE[column][2][width=.2\textwidth]
\setupTABLE[column][1][width=.2\textwidth]
\setupTABLE[column][2][width=.4\textwidth]
\stopsetups
\defineseparatedlist
[menu]
[separator=comma,
before={\startTABLE[setups=table:menu]
\NC\NC \bf Montag\NC\NR},
after=\stopTABLE,
left=\NC,last=\NC\NR]
\starttext
\startmenu
Menü 1, Fruchtiges Hähnchencurry \\ Reis \\ Möhren
\stopmenu
\stoptext
![alt text][3]
[1]: http://texwelt.de/wissen/upfiles/test_247.png
[2]: http://texwelt.de/wissen/upfiles/test_247.png
[3]: http://texwelt.de/wissen/upfiles/test_248.png