I can think of a way you could do this if these were authenticated users, but it sounds like you're talking about anonymous visitors?
I'm pretty sure you could accomplish hiding menu item(s) by name using some custom JavaScript, although like your option #1 that's not really a security measure, just a cosmetic patch at best. People who know the target URL could browse to it regardless.
As always, our recommendation is to avoid forking the code, so I would definitely discourage you from option #2.