How about you remove that CSS, and use this instead:
<li class="tlds">
<?php
$i = 0;
$tlds_per_row = 9; // some integer in the range [1..9]
$tld_count = count($tlds);
foreach ($tlds as $tld => $pack) {
if ($i%$tlds_per_row == 0) {
?>
<div class="tld-row">
<?php
}
?>
<span class="tld">
<?php
$this->Form->fieldCheckbox("tlds[]", $tld, in_array($tld, $this->Html->ifSet($vars->tlds, array())), array('id' => "t" . $tld));
$this->Form->label($tld, "t" . $tld, array('class' => "inline"));
?>
</span>
<?php
if (($i%$tlds_per_row) == ($tlds_per_row-1) || ($i+1 == $tld_count)) {
?>
</div>
<?php
}
$i++;
}
unset($i, $tlds_per_row);
?>
</li>
CSS:
.tlds { text-align:left;}
.tlds .tld-row { clear:left;}
.tlds .tld-row .tld { float:left; display:inline-block; width:100px;}