How can I pivot a table then join multiple tables and change values based on information between tables
Nevermind, I solved it myself using a short series of joins from the pivot fields:

SELECT 
    I.ProductID,
    I.ProductName,
    A.ID as Category,
    B.ID as ProductType,
    C.ID as Sale,
    D.ID as [Group]
FROM InventoryProperty
PIVOT
    (
    MAX(PropertyValue)
    FOR PropertyID IN ([592],[595],[598],[600])
    ) as P
INNER JOIN Inventory as I on P.ProductID = I.ProductID
INNER JOIN PropertyChoice as A on P.[592] = A.ID
INNER JOIN PropertyChoice as B on P.[595] = B.ID
INNER JOIN PropertyChoice as D on P.[598] = C.ID
INNER JOIN PropertyChoice as E on P.[600] = D.ID