Yeah I think it's possible if turned into the following:
SELECT S.*
FROM [dbo].[Skill] S
INNER JOIN [dbo].[Queue] Q ON S.ID=Q.SkillID
WHERE
Q.[TimeStamp] IN (
SELECT MAX(Q2.[TimeStamp])
FROM [dbo].[Skill] S2
INNER JOIN [dbo].[Queue] Q2 ON S2.ID=Q2.SkillID
)
Note the IN keyord rather than the '='.
Then you can construct the IN predicate using FieldCompareSetPredicate, and set the AggregateFunctionToApply property of the passed EntityField parameter to AggregateFunction.Max