Ich würde in so einem Fall einfach ein entsprechendes padding einstellen. Wenn du es mit vertical-align machen willst/musst, müsstest du mit der CSS-Eigenschaft line-height herumspielen, denn vertical-align bezieht sich auf diese Eigenschaft.
Edit: Und ja, span ist ein Inline-Element (das Standard-Inline-Element).