I'd suggest something a bit more complicated, but flexible:
Code:
CREATE TABLE #hearings (
caseNumber INT
, hearingDate DATETIME
)
INSERT INTO #hearings (caseNumber, hearingDate)
VALUES (1, '2000-01-01'), (2, '2000-02-02'), (2, '2001-02-02')
, (3, '2000-03-03'), (3, '2001-03-03'), (3, '2002-03-03');
WITH cte (caseNumber, hearingDate, r) AS
(SELECT caseNumber, hearingDate, row_number() OVER
(PARTITION BY caseNumber ORDER BY hearingDate DESC) AS r
FROM #hearings)
SELECT caseNumber, hearingDate
FROM cte
WHERE r <= 2
ORDER BY caseNumber, hearingDate
-PatP