Изменяем в 2 файлах system/library/{length,weight}.php функцию format (она в самом низу файла), вставляя первой строчкой функции следующую:
if( 0 == $value ) return "";
А дальше в catalog/view/theme/default/template/product/compare.tpl ищете, где они выводятся (строку " x " или length, width, height) и меняете на что-то вроде:
<tr>
<td><?php echo $text_dimension; ?></td>
<?php foreach ($products as $product) { ?>
<td><?php echo $products[$product['product_id']]['length']; if(!empty($products[$product['product_id']]['length'])) echo " x ";
echo $products[$product['product_id']]['width']; if(!empty($products[$product['product_id']]['width'])) echo " x ";
echo $products[$product['product_id']]['height']; ?></td>
<?php } ?>
</tr>
С весом эти условия не нужны, он и так перестанет выводиться. Здесь это нужно только ради того, чтобы лишние " x " не выводились, если размер только частично указан.
Если вывод размеров добавляли ещё где-то (например, на страницах товара) - разумеется, там тоже подправьте.
См. также Opencart 1.5.1: возможность регулировать точность и количество десятичных знаков при выводе веса и размеров и Убираем ограничение 999.99 на вес и размеры в Opencart