Ausgabe mittels sprintf im Binärformat nicht möglich?

Nein. Das geht nicht.

printf() Doku für den Arduino:
http://www.nongnu.org/avr-libc/user-manual/group__avr__stdio.html#gaa3b98c0d17b35642c0f3e4649092b9f1
Hier allgemein, aber das ist etwas umfangreicher als was auf dem Arduino möglich ist:
http://www.cplusplus.com/reference/cstdio/printf/

Du kannst erst mal berechnen wie viele Stellen deine Zahl als Binär braucht. Und dann vorher so viele Nullen ausgeben. Danach dann print() mit BIN machen.

Wenn du eher eine C Funktion willst, geht das hiermit:
http://www.nongnu.org/avr-libc/user-manual/group__avr__stdlib.html#gad50d835af7e358518fd100179732e948
http://www.nongnu.org/avr-libc/user-manual/group__avr__stdlib.html#ga34f41757388f40e340f31e370ac009b5
Da musst du dir aber auch die führenden Nullen danach per Hand erzeugen. Anders als bei print(..., BIN), könntest du aber einfach mit strlen() feststellen wie lange der String ist der rauskommt. Und dann einfach durch Subtraktion wissen wie viele Nullen du brauchst. Also keine große Sache.