Its doable without any code hacking. This is one of those things I should have an FAQ for but don't yet.
1. Create the page that requires authentication (ok its not visible in the menu to anonymous).
2. Create another page that is visible to all users
3. For the second page set the url to the fully qualified url of the first page. ie http://yoursite/yourpage.aspx and set it to hide from authenticated.
Now the second page is visible in the menu but clicking the link since it points to the first page, the user is prompted to login then redirected to the no longer hidden page.
Hope it helps,