Nimm den Befehl `\ifdefstring`, wenn nur das erste Argument ein Makro ist, und verwende das `\sisetup` in den Argumenten der Abfrage:
\documentclass[margin=2pt]{standalone}
\usepackage{etoolbox}
\usepackage{siunitx}
\newcommand\DocLang{german}
\ifdefstring{\DocLang}{german}{\sisetup{locale = DE}}{\sisetup{locale = US}}
\begin{document}
\num{1.23}
\end{document}\end{document}
oder analog zum Vorschlag von @Ulrike Fischer bei deiner [Folgefrage][1]
\documentclass[margin=2pt]{standalone}
\newcommand\DocLanguage{english}
\usepackage{siunitx}
\newcommand\germansettings{%
\sisetup{locale = DE}%
}
\newcommand\englishsettings{%
\sisetup{locale = US}%
}
\csname \DocLanguage settings\endcsname
\begin{document}
\num{1.23}
\end{document}
> Blockquote
[1]: http://texwelt.de/wissen/fragen/4809/kann-ich-in-biblatex-die-optionen-im-nachhinein-andern/4810