A veces, en Magento ocurre que generar un listado de productos en stock en el front es un dolor de muelas, así que aquí os dejo el código que tenéis que meter en el archivo .phtml para filtrar por stock y obtener aquellos productos que tengan stock mayor que 0 (o la cantidad que especifiquéis):

$productCollection = Mage::getModel('catalog/product')
     ->getCollection()
     ->addAttributeToSelect('*')
     ->joinField('qty',
                 'cataloginventory/stock_item',
                 'qty',
                 'product_id=entity_id')
     ->addAttributeToFilter('qty', array("gt" => 0));

foreach($productCollection as $product) { 
      if($product->getQty()>0)
        echo $product->getName() . " | " . $product->getQty() . " | " . $product->getSku() . "
"; }