Вам нужно оперировать двумя запросами к xml-дереву:
1. Определить список узлов, для которых известны категории:
//items/item[categoryId=//catalog/category/@id]
2. Определить категорию узла при переборе результата запроса 1.
//catalog/category[@id="тут вставляем код категории"]
При вставке узла categoryname нужно ориентироваться не на categoryId, а на portal_category_id, поскольку вставлять новый узел
до существующего легче, чем изобретать велосипед с функцией, которая делает вставку после.
PS: Вопрос выглядит как задание, характерное для фриланса, поэтому можно только посоветовать, как его реализовать, без подробной реализации.