Se funziona e sei soddisfatto, lascia pure così.
Si può fare di meglio usando l’argomento facoltativo di \newcommand; per meglio dire, usando l’argomento facoltativo di un comando definito con \newcommand; la guida tematica che ti ho indicato contiene la sintassi comepleta di new command che ti ripeto qui: [tt]\newcommand{\[/tt][nome comando[/i][tt]}[ [/tt]numero argomenti[tt] ][ valore predefinito per primo argomento facoltativo[tt] ] [/tt].
Nel tuo caso potrebbe essere`\newcommand*{\puntini}[2][]{…}`L’argomento #1 diventa quello facoltativo, mentre il #2 è quello obbligatorio; Dunque ti basta controlalre se l’argomento facoltativo sia vuoto, nel qual caso metti in puntini, altrimenti non li metti. In altre parole al posto dei puntini devi mettere un test che controlli che un certo argomento sia vuoto, per esempio il controllo della stringa corrispondente all’argomento #1(mi pare che sia [tt]\ifstring]/tt] con il pacchetto ifthen, ma è meglio che controlli sulla documentazione di ifthen). Naturalmente puoi anche invertire il test; dipende se nel tuo documento ti ritrovi più spesso a dover mettere i puntini rispetto alle volte in cui non li devi mettere.
Non è detto che tu debba modficare il tuo codice; se ti va bene quello che hai creato, non perdere tempo, a meno che tu non voglia controllare se sei capace di usare la sintassi di \newcommand con argomento facoltativo.