I don't know how your objective may be accomplished with the tools of the enumerate
package (though David Carlisle probably could!), but I know how to accomplish it with the enumitem package.
One of the many nice features of the enumitem
package is that labels of enumerated items and the format of cross-references to these items can be set in a very straightforward way. For first-level items, only the ref
part needs to be modified (by affixing a ".
" to \theenumi
); the second- and third-level items both the label
and the ref
parts are modified.
(The code below uses the hyperref
package to make obvious what the cross-references look like.)

\documentclass[a4paper,10pt]{scrreprt}
\usepackage{enumitem}
\usepackage[colorlinks]{hyperref} %% just for this example
\begin{document}
\begin{enumerate}[ref=\theenumi.]
\item This is question 1 \label{itm:1}
\item \begin{enumerate}[label=(\alph*),
ref=\theenumi(\theenumii)]
\item This is question 2.(a) \label{itm:2a}
\item This is question 2.(b)
\item \begin{enumerate}[label=-\roman*),
ref=\theenumii-\theenumiii)]
\item This is question 2.(c)-i) \label{itm:2ci}
\item This is question 2.(c)-ii)
\end{enumerate}
\end{enumerate}
\end{enumerate}
Questions \ref{itm:1}, \ref{itm:2a}, and \ref{itm:2ci} \dots
\end{document}
Your formatting goals, for both the labels and the cross-references, could also be achieved without the aid of any package, by using the following low-level LaTeX instructions instead. Note, though, that these instructions apply to all subsequent enumerated environments.
\makeatletter
\renewcommand\labelenumi{\arabic{enumi}.}
\renewcommand\theenumi{\arabic{enumi}.}
\renewcommand\labelenumii{(\alph{enumii})}
\renewcommand\theenumii{(\alph{enumii})}
\renewcommand\labelenumiii{-\roman{enumiii})}
\renewcommand\theenumiii{-\roman{enumiii})}
\renewcommand\p@enumiii{\theenumi\theenumii}
\makeatother
If you have several enumerated lists of this type, it is handy to create a dedicated enumerate-like environment that sets up all the formatting instructions, using the \newlist
and \setlist
instructions of the enumitem
package. For instance, you might set up the following code (no new screenshot, as the output is the same as in the preceding example):
\documentclass[a4paper,10pt]{scrreprt}
\usepackage{enumitem}
\newlist{qenum}{enumerate}{3} % create a new enumerate-like environment
\setlist[qenum,1]{label=\arabic*.,
ref=\arabic*.}
\setlist[qenum,2]{label=(\alph*),
ref=\theqenumi(\alph*)}
\setlist[qenum,3]{label=-\roman*),
ref=\theqenumii-\roman*)}
\usepackage[colorlinks]{hyperref} %% just for this example
\begin{document}
\begin{qenum}
\item This is question 1 \label{itm:1}
\item \begin{qenum}
\item This is question 2.(a) \label{itm:2a}
\item This is question 2.(b)
\item \begin{qenum}
\item This is question 2.(c)-i) \label{itm:2ci}
\item This is question 2.(c)-ii)
\end{qenum}
\end{qenum}
\end{qenum}
Questions \ref{itm:1}, \ref{itm:2a}, and \ref{itm:2ci} \dots
\end{document}