If you don't need to reorder items or change their values, and are confident the values themselves don't contain the equals signs or vertical bars used as markup in the input, you could apply a series of regular expressions to introduce the HTML. Using Java's String class from Scala, this could be a dense but effective one-liner:
"Escape test=&<>|Width=3/8 in|Length=1 in|Thread - TPI or Pitch=|Bolt/Screw Length=|Material=|Coating=|Type=Snap-On|Used With=|Quantity=5000 per pack|Wt.=20 lb|Color=".
replaceAll("&","&").
replaceAll("<","<").
replaceAll(">",">").
replaceAll("^","<dl>\n\t<dt>").
replaceAll("=","</dt>\n\t<dd>").
replaceAll("\\|","</dd>\n\n\t<dt>").
replaceAll("$","</dd>\n</dl>")
which yields
<dl>
<dt>Escape test</dt>
<dd>&<></dd>
<dt>Width</dt>
<dd>3/8 in</dd>
<dt>Length</dt>
<dd>1 in</dd>
<dt>Thread - TPI or Pitch</dt>
<dd></dd>
<dt>Bolt/Screw Length</dt>
<dd></dd>
<dt>Material</dt>
<dd></dd>
<dt>Coating</dt>
<dd></dd>
<dt>Type</dt>
<dd>Snap-On</dd>
<dt>Used With</dt>
<dd></dd>
<dt>Quantity</dt>
<dd>5000 per pack</dd>
<dt>Wt.</dt>
<dd>20 lb</dd>
<dt>Color</dt>
<dd></dd>