Taking some code from How to sort an alphanumeric list, a mild change to your interface works for sorting via the datatool package:

\documentclass{article}
\usepackage{datatool}% http://ctan.org/pkg/datatool
\newcommand{\sortitem}[1]{%
\DTLnewrow{list}% Create a new entry
\DTLnewdbentry{list}{description}{#1}% Add entry as description
}
\newenvironment{sortedlist}{%
\DTLifdbexists{list}{\DTLcleardb{list}}{\DTLnewdb{list}}% Create new/discard old list
}{%
\DTLsort{description}{list}% Sort list
\begin{itemize}%
\DTLforeach*{list}{\theDesc=description}{%
\item \theDesc}% Print each item
\end{itemize}%
}
\begin{document}
Default:
\begin{itemize}
\item ISDYNSTP: Is dynamic time step used ?
\item ISCDCA:
\item MVAR
\item IS2TL
\end{itemize}
Sorted:
\begin{sortedlist}
\sortitem{ISDYNSTP: Is dynamic time step used ?}
\sortitem{ISCDCA:}
\sortitem{MVAR}
\sortitem{IS2TL}
\end{sortedlist}
\end{document}
To allow for formatting of sorted elements, it's best to modify the syntax. To that end, the following MWE supplied an updated version of \sortitem[<sort label>]{<label/description>} that takes an optional <sort label> (used as the label to sort upon):

\documentclass{article}
\usepackage{datatool}% http://ctan.org/pkg/datatool
\newcommand{\sortitem}[2][\relax]{%
\DTLnewrow{list}% Create a new entry
\ifx#1\relax
\DTLnewdbentry{list}{sortlabel}{#2}% Add entry sortlabel (no optional argument)
\else
\DTLnewdbentry{list}{sortlabel}{#1}% Add entry sortlabel (optional argument)
\fi%
\DTLnewdbentry{list}{description}{#2}% Add entry description
}
\newenvironment{sortedlist}{%
\DTLifdbexists{list}{\DTLcleardb{list}}{\DTLnewdb{list}}% Create new/discard old list
}{%
\DTLsort{sortlabel}{list}% Sort list
\begin{itemize}%
\DTLforeach*{list}{\theDesc=description}{%
\item \theDesc}% Print each item
\end{itemize}%
}
\begin{document}
Default:
\begin{itemize}
\item ISDYNSTP: Is dynamic time step used ?
\item ISCDCA:
\item MVAR
\item IS2TL
\end{itemize}
Sorted:
\begin{sortedlist}
\sortitem{ISDYNSTP: Is dynamic time step used ?}
\sortitem[ISCDCA]{\textit{ISCDCA:}}
\sortitem[MVAR]{\textbf{MVAR}}
\sortitem{IS2TL}
\end{sortedlist}
\end{document}
If you want a case-insensitive comparison, just replace the \DTLsort command by \DTLsort*.
\sortitem[<sort label>]{<label/description>}, allowing you to supply a different label to sort on from the description. This is very commonly done when sorting is involved, since you could use macros that don't have any relevant sorting reference. – Werner Jun 28 '13 at 15:41Sorted 2: \begin{sortedlist} \sortitem{foo} \sortitem{abc} \sortitem[yyx]{\textbf{yyx}} \end{sortedlist}I get two issues: 1. The title line appears asSorted 2: x(not sure where thexis coming from) and 2.yyzappears first? The spacing betwen the title and thexdepends on the number of\sortitems. Screenshot. – Peter Grill Dec 21 '16 at 09:07\sortitem. If I make it have two mandatory parameters (and adjust the definition), things work just fine. It seems that thexin the output seems to any characters after the first twoyyin the optional parameter. So, usingyyz4as the first parameter, results in the title beingSorted 2: z4. You can simply replace[MVAR]in your example with[yyMVAR]to see this problem. – Peter Grill Dec 21 '16 at 09:34itemizewithdescription? – M. Dudek Nov 20 '21 at 13:31descriptionmostly requires\items to have an optional argument. My implementation uses the optional argument to\sortitemto influence the sorting, so the entire approach will have to be updated. I suggest posting a new, follow-up question to request that. – Werner Nov 20 '21 at 18:23