Well, all you really need to do is decide on your date range, then pick a random number between 0 and the delta in days (+1), then add that many days to the start of the range.
DECLARE @start DATE = '19700101', @end DATE = SYSDATETIME();
SELECT DATEADD
(
DAY,
(ABS(CHECKSUM(NEWID())) % (DATEDIFF(DAY, @start, @end)+1)),
@start
);
There are other methods you can use to achieve randomness, including RAND() and CRYPT_GEN_RANDOM(). In my experience, distribution is not particularly fantastic in any of them, and some will behave differently in a query than others, so they may or may not be adequate depending on your needs. I followed up on a comment from Paul White, but saw similarly poor distribution with the following query (of course quality of distribution is also a factor of the size of the range):
DECLARE @start DATE = '19700101', @end DATE = SYSDATETIME(), @r INT;
SET @r = RAND(CHECKSUM(NEWID())) * (DATEDIFF(DAY, @start, @end)+1);
SELECT DATEADD(DAY, @r, @start);
Documentation: