I've tried to isolate it by deselecting all, then just adding some specific objects. Exports work with just webparts, or just page templates, or just stylesheets, but if I select just Pages, then it throws the error.

Refreshing View_CMS_Tree_Joined doesn't seem to help, but we do have a couple of custom Views used in the page types. However, we didn't manually write those views, they were generated by the portal app.

Here's the query for the view:

SELECT
CMS_Category.CategoryDisplayName AS CategoryDisplayName, CMS_Category_Parents.CategoryDisplayName AS ParentCategoryDisplayName
FROM
CMS_Category
LEFT OUTER JOIN
CMS_Category AS CMS_Category_Parents ON CMS_Category.CategoryParentID = CMS_Category_Parents.CategoryID

We have been solving this issue through the support channel. It looks like that there were two page types which have field named in the same way, but the field type (data type) is different (e.g. one was text and second GUID).

Just for future reference - best practice is to use unique field code names, best with the page type name as prefix.