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