You can use a custom query to fetch the titles and url_titles on the channel_titles table. It has a year, month and day column. If you need custom fields too, then you could only fetch the entry_id's and feed those to an embed, for a regular channel:entries tag.
edit (example)
On this day:<hr>
{exp:query sql="
SELECT
title, url_title, year
FROM
exp_channel_titles
WHERE
channel_id = 1
AND
month = {current_time format='%m'}
AND
day = {current_time format='%d'}
"}
<p>{year} - {title} - {url_title}</p>
{if no_results}
<p>nothing found</p>
{/if}
{/exp:query}
Query module:
http://ellislab.com/expressionengine/user-guide/modules/query/index.html
Date formatting:
http://ellislab.com/expressionengine/user-guide/templates/date_variable_formatting.html
If you need full custom fields then only select the entry_id and feed it to an embed with channel entries. The zero in front is a fail-safe (for if no entries are found).
// Main template (query result something like 0|12|32|44)
{embed="blog/thisday"
items="0{exp:query sql="SELECT entry_id FROM exp_channel_titles
WHERE channel_id = 1
AND month = {current_time format='%m'}
AND day = {current_time format='%d'}
"}|{entry_id}{/exp:query}"}
// embedded template blog/thisday
{exp:channel:entries channel="blog" entry_id="{embed:items}"}
<p>{title}</p>
{!-- {custom_field} --}
{if no_results}nothing found{/if}
{/exp:channel:entries}
or without embed, but with parse="inward", and a bit cluttered
{exp:channel:entries channel="woningaanbod"
entry_id="0{exp:query sql='SELECT entry_id FROM exp_channel_titles
WHERE channel_id = 1
AND month = {current_time format='%m'}
AND day = {current_time format='%d'}
'}|{entry_id}{/exp:query}"
parse="inward"
}
<p>{title} - {entry_date format="%Y %m %d"}</p>
{!-- {custom_field} --}
{if no_results}ahum, nothing found{/if}
{/exp:channel:entries}
ps. this (and EE in general) is quite delicate with the double and single quotes nesting inside each other. Anything inside the entry_id="" tag (inside those double quotes), needs to have single quotes if you use tags for a parameter. Luckily the current_time is parsed very early on, so those nested single quotes from the format parameter, inside the query module tag, are replaced first with the values for month and day. After that, the query module runs first, because of the parse inward parameter. the rest is history, "on this day".