If you end up doing <span class="bold"> a lot you are not correctly using either span, nor class names. Class names should tell you what the tag is, not what it looks like.
The correct replacement for <b> and <i> are <strong> and <em>, and they should be used to note that the specific text inside has a different meaning than the surrounding text.
Update: New specification for <b>, <i>,<strong>,<em> released under HTML 5
In HTML5 <b> and <i> have specific meaning as do <strong> and <em>. Use them all as specified.
4.6.2 The em element :
The em element represents stress emphasis of its contents.
4.6.3 The strong element:
The strong element represents strong importance, seriousness, or urgency for its contents.
4.6.16 The i element:
The i element represents […] otherwise offset from the normal prose […], such as a taxonomic designation, a technical term, […].
4.6.17 The b element:
The b element represents a span of text to which attention is being drawn for utilitarian purposes […], such as key words in a document abstract, product names in a review […].