This vertical white space is explained by 3 elements:
- Space added above the
lstlisting environment. You can remove it by setting the aboveskip option to 0pt.
- Apparently, escaped TeX code inside
lstlisting starts in horizontal mode, and multicols' behavior when called in horizontal mode is to start on a new line. You can trick it by either adding \vspace*{-\baselineskip} before calling multicols, or putting the whole environment inside a \vbox{}.
multicols also adds vertical space above its content. You can remove it by specifying locally \setlength\multicolsep{0pt}, as answered in Reduce vertical spacing itemize and multicols.
You may remove all of it:

but what's really "excessive" depends on the results you're looking for.
Whitespace number 2 is probably unwanted. If you want the same vertical space as between regular text and multicols, remove 1 and 2:

If you want the same vertical space as between regular text and lstlisting's text (like the beginning of your example), remove 2 and 3:

Here is the full working code for these examples:
\documentclass[10pt]{hitec}
\usepackage{listings}
\lstset{
basicstyle=\small\ttfamily,
columns=flexible,
breaklines=true,
showstringspaces=false,
escapeinside={(*@}{@*)}
}
\usepackage{multicol}
\title{page}
\begin{document}
\noindent Source
\begin{lstlisting}
(*@\begin{multicols}{2}
\begin{itemize}
\item 1
\item 2
\end{itemize}
\end{multicols}@*)
\end{lstlisting}
\noindent Removing all white space
\begin{lstlisting}[aboveskip=0pt]
(*@\vbox{\setlength\multicolsep{0pt}\begin{multicols}{2}
\begin{itemize}
\item 1
\item 2
\end{itemize}
\end{multicols}}@*)
\end{lstlisting}
\noindent Removing 1 and 2 % as if the text was directly followed by multicols
\begin{lstlisting}[aboveskip=0pt]
(*@\vbox{\begin{multicols}{2}
\begin{itemize}
\item 1
\item 2
\end{itemize}
\end{multicols}}@*)
\end{lstlisting}
\noindent Removing 2 and 3 % same space as if it was only text
\begin{lstlisting}
(*@\vbox{\setlength\multicolsep{0pt}\begin{multicols}{2}
\begin{itemize}
\item 1
\item 2
\end{itemize}
\end{multicols}}@*)
\end{lstlisting}
\end{document}