There's an alternate method to UNPIVOT using CROSS APPLY, you could read about it on the following link to understand the code I'm posting.
http://www.sqlservercentral.com/articles/CROSS+APPLY+VALUES+UNPIVOT/91234/
SELECT itemNoAS Item,
CatAS CatID,
SubCatAS SubCatID
FROM #Test
CROSS APPLY( VALUES
( Cat1, SubCat11),
( Cat2, SubCat21),
( Cat3, SubCat31))x( Cat, SubCat)
ORDER BY Cat, SubCat