You will need to create 3 queries to do it. But you only need to call the last one to get the result that you are looking for:
First Query qryLastCommentDate
SELECT tblComments.Key, Max(tblComments.Date) AS LastCommentDate
FROM tblComments
GROUP BY tblComments.Key;
Second Query qryNextToLastCommentDate
SELECT tblComments.Key, [qryLastCommentDate].LastCommentDate, Max(tblComments.Date) AS NextToLastCommentDate
FROM tblComments INNER JOIN qryLastCommentDate ON tblComments.Key=[qryLastCommentDate].Key
WHERE (((tblComments.Date)<[LastCommentDate]))
GROUP BY tblComments.Key, [qryLastCommentDate].LastCommentDate;
Third Query qryLastAndNextToLastComments
SELECT tblComments.Key, tblComments.Date, tblComments.Comment
FROM tblComments
WHERE (((tblComments.Key) In (SELECT Key from qryLastCommentDate)) AND ((tblComments.Date) In (SELECT LastCommentDate from qryLastCommentDate))) OR (((tblComments.Key) In (SELECT Key from qryNextToLastCommentDate)) AND ((tblComments.Date) In (SELECT NextToLastCommentDate from qryNextToLastCommentDate)));