SELECT DISTINCT
s.ID,
s1.[Date] AS Date1,
s2.[Date] AS Date2
FROM @SomeTable s
LEFT JOIN @SomeTable s1 ON s.ID = s1.ID AND s1.[Group] = 1
LEFT JOIN @SomeTable s2 ON s.ID = s2.ID AND s2.[Group] = 2
ou
SELECT DISTINCT
s.ID,
(SELECT [Date] FROM @SomeTable s1 WHERE s1.ID = s.ID AND s1.[Group] = 1) AS Date1,
(SELECT [Date] FROM @SomeTable s2 WHERE s2.ID = s.ID AND s2.[Group] = 2) AS Date2
FROM @SomeTable s
são as duas primeiras formas que vêm à mente. Ambos presumem que existe apenas um registro para cada combinação de ID / Grupo.