Vorab der Hinweis von @Clemens: `\item` wird auch an versteckten Stellen aufgerufen, zum Beispiel der `{center}` und der `{quote}` Umgebung ... Änderungen an `\item` können deshalb unerwartete und unerwünschte Folgen haben.
Du könntest das Paket [`etoolbox`][1] verwenden und dann `\preto\item{<code>}` nutzen. Dann wird `<code>` immer unmittelbar vor `\item` ausgeführt.
ausgeführt. Um die Wirkung dieser Änderung zu beschränken, kann man sie mit dem Paket [`enumitem`][2] nur für die `{enumerate}` Umgebung vornehmen oder sich eine neue Umgebung definieren. Innerhalb dieser gilt aber weiter obige Warnung.
\documentclass{scrartcl}
\usepackage[ngerman]{babel}
\usepackage{blindtext}
\usepackage{forloop}
\newcounter{items}
\usepackage{needspace}
\usepackage{etoolbox}
\preto\item{\needspace{2\baselineskip}}
\usepackage{enumitem}
\setlist[enumerate]{before=\preto\item{\needspace{2\baselineskip}}}
\begin{document}
\begin{enumerate}
\forloop{items}{1}{\value{items} < 10}
{\item \blindtext}
\end{enumerate}
\end{document}
Will man den `<code>` dagegen direkt nach jedem `\item`, also am Beginn des Stichpunktes, ausführen lassen, dann kann man `\appto\item{<code>}` verwenden. Als Beispiel wird hier mal an den Anfang jedes `\item` **Text:** mit anschließendem Zeilenumbruch eingefügt:
\documentclass{scrartcl}
\usepackage[ngerman]{babel}
\usepackage{blindtext}
\usepackage{etoolbox}
\appto\item{\textbf{Text:}\\}
\begin{document}
\begin{enumerate}
\item \blindtext
\item \blindtext
\end{enumerate}
\end{document}
![alt text][2]
\end{document}
[1]: http://www.ctan.org/pkg/etoolbox
[2]: http://texwelt.de/wissen/upfiles/etb.PNGhttp://www.ctan.org/pkg/enumitem