If you want to do it vertically instead of horizontally, just build your rows differently. First figure out how many rows you're working with:
<cfset numrows = Ceiling(ArrayLen(steps)/2) >
So for 10 records you would get 5 rows. The Ceiling call just rounds up if it's odd.
<div class="width-100"> <!---- this is the main container --->
<cfloop from="1" to="#numrows#" index="alpha">
<div class="width-100"> <!--- this is the start of a 'row' --->
<div class="width-50"> <!--- this is a 'step' --->
#steps[alpha].StepNum.xmltext#
<input class="f-right" type="checkbox" />
</div>
<div class="width-50"> <!--- this is a 'step' --->
<cfif isDefined("steps[alpha+numrows].StepNum.xmltext")>
#steps[alpha+numrows].StepNum.xmltext#
<!--- next to step 1 you get step 6 --->
<input class="f-right" type="checkbox" />
</cfif> <!--- cfif because last one won't be defined if odd --->
</div>
</div> <!--- end of a 'row' --->
</cfloop>
</div>