LOL queue the experts to post a more elegant solution!
Anyways, I'm just throwing this out there for discussion's sake, make sure you test any solution you develop for suitability for your application.
USE [CRAP_DISPOSABLE_DATABASE_I_HAVE]
GO
CREATE TABLE [dbo].[TEST_FOR_DEMO](
[whateverkey] [int] NULL,
[rowdate] [datetime] NULL,
[otherinfo] [varchar](100) NULL
) ON [PRIMARY]
GO
INSERT INTO TEST_FOR_DEMO
(
whateverkey,
rowdate,
otherinfo
)
SELECT 1, '2013-01-01','fred'
UNION
SELECT 2, '2013-01-05','ralph'
UNION
SELECT 3, '2012-12-31','jane'
UNION
SELECT 4, '2012-12-15','suzie'
SELECT TOP 1 latest.whateverkey whateverkey_latest,
latest.rowdate rowdate_latest,
latest.otherinfo otherinfo_latest,
next_latest.whateverkey whateverkey_next_latest,
next_latest.rowdate rowdate_next_latest,
next_latest.otherinfo otherinfo_next_latest
FROM
TEST_FOR_DEMO latest
CROSS JOIN
TEST_FOR_DEMO next_latest
WHERE
latest.rowdate =
(
SELECT MAX(rowdate)
FROM TEST_FOR_DEMO
)
AND
next_latest.rowdate =
(SELECT MAX(rowdate)
FROM TEST_FOR_DEMO
WHERE rowdate <>
(SELECT MAX(rowdate)
FROM TEST_FOR_DEMO
)
)