Ad occhio con il padding e` proprio il modo sbagliato.
Il fatto e` che non puoi sapere quanto spazio adoperano, dato che questo e` legato alla dimensione del carattere, che non puoi conoscere (i browser possono forzare la dimensione dei caratteri).

Per spaziare in modo uniforme, devi usare i margini automatici (oppure padding, ma ha degli effetti negativi con IE); pero` questo impedisce di usare i float, ma anche l'inline.

Se non ti serve che funzioni in IE6, potresti definire i[*] con display:table-cell, altrimenti credo sia necessario usare i posizionamenti, che pero` hanno altri effetti negativi.