Va bene ed e` valido.
Forse ci starebbe anche un float:right nel div di destra.

Hai ragione. Gli span (display:inline) non possono avere alcuni attributi di posizionamento, ed occorre usare i div (display:block), facendoli flottare sulla stessa riga.

Ricordati di mettere dei

o altro elemento che puo` contenere del testo dentro al <div>, altrimenti non e` XHTML valido.