Leer und nicht vorhanden sind zwei ganz unterschiedliche Dinge. \newcommand kennt nur eine Form von Argumenten, die man weglassen kann: max. ein optionales Argument. Dieses muss das erste Argument sein und das Weglassen bedeutet auch nicht, dass es nicht vorhanden ist, sondern nur, dass es einen bei der Definition vorgegebenen Default-Wert bekommt. Die Anzahl der Argumente eines Befehls wird jedoch bei dessen Definition festgelegt. Die obligatorischen Argumente müssen immer alle angegeben sein. Natürlich kann man leere Argumente mit {} angeben.
Abfragen, ob ein Argument leer ist, kann man beispielsweise seit KOMA-Script 3.19 mit \IfArgIsEmpty:
\documentclass[paper = 155mm:220mm, DIV=15, headinclude, twoside, 10pt, BCOR=17mm, headsepline]{scrbook}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\begin{document}
\setlength{\parindent}{0em}% Keine gute Idee! Wenn man Absatzeinzug
% abschaltet, sollte man immer Absatzabstand
% einschalten. Das geht am besten mit Option
% parskip.
\newcounter{mynumber}
\setcounter{mynumber}{0}
\newcommand{\fr}[1] % Das Kommando \fr hat einen Parameter
{
\small
\addtocounter{mynumber}{1}
%textbf{\arabic{mynumber}. Frage:} #1\\[+3mm]
\textbf{Frage:}
\marginline{\arabic{mynumber}}
\normalsize
#1
\\[+3mm]% Ein Absatz, also beispielsweise \par\vspace{3mm}, wäre an dieser
% Stelle weit besser!
}
\newcommand{\aw}[5]
{
\small
\textbf{Antwort:}
\normalsize
% Auch im Folgenden sollte man besser mit \par\vspace{3mm} arbeiten statt mit
% harten Zeilenumbrüchen! Ich würde stattdessen sogar eine Liste verwenden.
#1%
\\[+3mm]
\IfArgIsEmpty{#2}{}{#2%
\\[+3mm]}%Afrage ob #2 leer ist wenn nicht dann\\[+3mm]?
\IfArgIsEmpty{#3}{}{#3%
\\[+3mm]}%
\IfArgIsEmpty{#4}{}{#4%
\\[+3mm]}%
\IfArgIsEmpty{#5}{}{#5%
\\[+3mm]}%
}
\newcommand{\ko}[1]
{
\small
\textbf{Kommentar:}
\normalsize
#1
\\[+3mm]
}
\fr{Wo lebt der Weihnachtsmann?}
\aw{Am Nordpol!}{}{}{}{}%Es müssen alle Argumente vorhanden sein!
\ko{Antwort der Anhänger der weltweiten Weihnachtsmann-Verschwörung.}
\fr{Wer sind die Glücksbärchies?}
\aw
{Die Glücksbärchis sind Zeichentrickfiguren aus den 1980er Jahren
und wurden in Deutschland vor allem durch ihre Fernsehserie
und ihre Filme bekannt.}
{Die Glücksbärchis leben zusammen mit dem Wolkenwächter
und kleinen, fliegenden Sternen und Herzen im Wolkenland,
das aus dem Herzbärchiland, dem Wald der Gefühle
und dem Paradiesischen Tal besteht.
Dort oben wachen sie über die Menschen, vor allem über die Kinder.}{}{}{}%{3}{4}{5}
\ko{Quelle: Wikipedia, bearbeitet}
\fr{Was ist Jakutisch?}
\aw{Jakutisch ist die und dem Paradiesischen Tal besteht.
Dort oben wachen sie über die Menschen, vor allem über die Kinder.}
{Muttersprache eines Großteils der Jakuten}
{Erstsprache vieler Ewenken, Ewenen und Jukagiren}
{Zweitsprache vieler Dolganen}
{Fremdsprache für einige tausend weiterer Personen. Die Glücksbärchis leben zusammen mit dem Wolkenwächter
und kleinen, fliegenden Sternen und Herzen im Wolkenland,
das aus dem Herzbärchiland, dem Wald der Gefühle
und dem Paradiesischen Tal besteht.
Dort oben wachen sie über die Menschen, vor allem über die Kinder.}
\ko{Hausarbeit Jakutisch}
\end{document}
Will man tatsächlich eine variable Anzahl von Argumenten, also mehrere optionale Argumente, so ist das mit
xparse möglich. Dort werden Argumente nicht mehr nur über ihre Zahl, sondern auch über ihre Art deklariert. Die [d]xparse[/d]-Anleitung erklärt weiteres.
Allerdings sei noch darauf hingewiesen, dass das was Du da machst, sehr unsauber ist. \\ hat im Blocksatz nichts verloren. Du solltest stattdessen mit Absätzen arbeiten oder sogar eine Listenumgebung aufspannen. Wenn man mit Absätzen arbeitet, kann man für den Abstand einfach den Absatzabstand verwenden. Dann muss man nicht mehr auf leere Argumente testen, weil bei leeren Argumenten einfach nur mehrere \par hintereinander stehen, was TeX automatisch zu einem einzigen Absatz zusammenfasst:
\documentclass[paper = 155mm:220mm, DIV=15, headinclude, twoside, 10pt, BCOR=17mm, headsepline]{scrbook}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\begin{document}
\newcounter{mynumber}
\setcounter{mynumber}{0}
\newenvironment{frant}{\par
% \KOMAoptions{parskip=half}% einfach eine halbe Zeile Abstand
\setparsizes{0pt}{3mm}{.25\textwidth plus 1fil}\selectfont% genau 3mm Abstand
}{%
\par
}
\newcommand{\fr}[1] % Das Kommando \fr hat einen Parameter
{% <-- auf unerwünschte Leerzeichen achten
\small
\addtocounter{mynumber}{1}% <-- auf unerwünschte Leerzeichen achten
\textbf{Frage:}% <-- auf unerwünschte Leerzeichen achten
\marginline{\arabic{mynumber}}% <-- auf unerwünschte Leerzeichen achten
\normalsize\vskip-\parskip% Absatz erfolgt bereits wieder mit \normalsize!
#1\par
}
\newcommand{\aw}[5]
{
\small
\textbf{Antwort:}%
\normalsize\vskip-\parskip
#1\par#2\par#3\par#4\par#5\par
}
\newcommand{\ko}[1]
{
\small
\textbf{Kommentar:}%
\normalsize\vskip-\parskip
#1\par
}
\begin{frant}
\fr{Wo lebt der Weihnachtsmann?}
\aw{Am Nordpol!}{}{}{}{}%Es müssen alle Argumente vorhanden sein!
\ko{Antwort der Anhänger der weltweiten Weihnachtsmann-Verschwörung.}
\fr{Wer sind die Glücksbärchies?}
\aw
{Die Glücksbärchis sind Zeichentrickfiguren aus den 1980er Jahren
und wurden in Deutschland vor allem durch ihre Fernsehserie
und ihre Filme bekannt.}
{Die Glücksbärchis leben zusammen mit dem Wolkenwächter
und kleinen, fliegenden Sternen und Herzen im Wolkenland,
das aus dem Herzbärchiland, dem Wald der Gefühle
und dem Paradiesischen Tal besteht.
Dort oben wachen sie über die Menschen, vor allem über die Kinder.}{}{}{}%{3}{4}{5}
\ko{Quelle: Wikipedia, bearbeitet}
\fr{Was ist Jakutisch?}
\aw{Jakutisch ist die und dem Paradiesischen Tal besteht.
Dort oben wachen sie über die Menschen, vor allem über die Kinder.}
{Muttersprache eines Großteils der Jakuten}
{Erstsprache vieler Ewenken, Ewenen und Jukagiren}
{Zweitsprache vieler Dolganen}
{Fremdsprache für einige tausend weiterer Personen. Die Glücksbärchis leben zusammen mit dem Wolkenwächter
und kleinen, fliegenden Sternen und Herzen im Wolkenland,
das aus dem Herzbärchiland, dem Wald der Gefühle
und dem Paradiesischen Tal besteht.
Dort oben wachen sie über die Menschen, vor allem über die Kinder.}
\ko{Hausarbeit Jakutisch}
\end{frant}
\end{document}
Außerdem darfst Du ruhig davon ausgehen, dass Du nicht der erste bist, der Multiple-Choice- Aufgaben stellt. Es gibt für
Aufgabenblätter aller Art Pakete. Solltest Du Dir einmal anschauen.