Tu peux malgré tout faire un OR, de façon peu efficace, mais ça marche :
{$id_produits = '0'}
{* Récupérer les ID des produits dont le titre matche *}
{loop type="product" name="select_title" title="{$smarty.get.q}"}
{$id_produits = "{$id_produits},${ID}"}
{/loop}
{* Récupérer les ID des produits dont la ref matche *}
{loop type="product" name="select_ref" ref="{$smarty.get.q}"}
{$id_produits = "{$id_produits},${ID}"}
{/loop}
{* Afficher l'ensemble *}
{loop type="product" name="product_list" id=$id_produits limit=$limit page=$product_page order=$product_order}
...
{/loop}