Usare l'hostname al posto dell'ip è possibile?

la libreria si chiama EthernetDNS, ecco il link: http://gkaindl.com/software/arduino-ethernet

prima di tutto devi settare l'ip di un DNS server, ovvero quello che dal nome dell'host ti restituisce l'ip. Normalmente i router fanno anche da server DNS, quindi puoi dare l'ip del router (di solito 192.168.0.1, ma può variare, è quello che usi alla voce GATEWAY)
se il tuo DNS non lo supporta puoi usare i DNS gratuiti, come gli opendns: http://www.opendns.com/, i cui 2 IP sono 208.67.222.222 e 208.67.220.220

Poi quando devi cercare un host usi
DNSError resolveHostName(const char* hostName, byte ipAddr[4]);
hostname è il nome che devi risolvere, ipAddr è un array di byte di 4 dimensioni in cui verrà salvato l'IP

Per la sprintf, comunque, funziona esattamente come per i sensorValue, solo che al posto del %d (che significa "quì ci vuole un numero intero), ci metti il %s (che significa quì ci vuole una stringa). Per vedere altri formati & maggiori info: http://www.cplusplus.com/reference/clibrary/cstdio/scanf/