Creo que con esto te funciona, no lo he probado pero creo que hace lo que necesitas. Primero necesitas obtener el id de las categorías padre luego unir los campos con un joinField() para que puedas acceder a estos productos y por último filtrarlos, aquí el código:
$_catpadreID = Mage::app()->getStore()->getRootCategoryId();
$_coleccionProd = Mage::getResourceModel('catalog/product_collection') ->joinField('category_id','catalog/category_product','category_id','product_id=entity_id',null,'left') ->addAttributeToFilter('category_id', array('in' => $_catpadreID)) ->addAttributeToSelect('*');
$_coleccionProd->load();
foreach($_coleccionProd as $_colpro){
echo $this->htmlEscape($_colpro->getName())."<br/>"; };