Update:
We'll be rolling an initial implementation of this out on some sites to promote Stack Overflow Meetups!
For now, only moderators can create new events, and there are no tag associations. We'll probably work out the kinks on the smaller sites before opening it up more on Stack Overflow.
I think it's a great idea!
This has been on my list to respond to for a while, but sorta slipped my memory... Until this morning I saw this: Provide a non-system-message channel for moderators to contact all users
We already have this feature! (It just won't work for this purpose)
A bit of background: there's already a rudimentary calendar built into the system, in the form of Chat Events:

Users can associate events with rooms and register for upcoming events, with in-chat and email notification. Events created by ordinary users have no visibility on the main site itself. However, moderator-created events have additional side-effects:

Moderator-led events have the additional advantage of being heralded via Twitter and in a system message on the main site for an hour prior to the event.
That's great, but it doesn't really help if the event isn't in chat
Right. So chat events are all well and good, for stuff that happens in chat, doesn't need to be announced too far ahead of time, and doesn't last very long. But it's less than ideal for meet-ups, challenge events, or even re-occurring GTKY sessions where folks might want to plan ahead a bit.
So... let's open it up! Why not allow creating "events" that last for days, are associated with a meta post instead of a chat room, and get a permanent, visible announcement on the front page of the site? There's some precedent for this after all: Photography.SE has had a running announcement of their Featured Image challenge since they launched:

I don't think most sites need that much screen real estate devoted to this, but that'd be something for the designers to worry about; the default could be something fairly small, perched at the top of the right-hand sidebar:

Your idea to use tags to filter events based on what tag you're viewing is great - and on a site the size of Stack Overflow, it'd be absolutely essential to keeping some semblance of order. There should be a master list of all scheduled events (in or out of chat) available too, but for the main page and questions pages (tag-filtered or otherwise), I think a simple priority system would work to keep the most relevant event(s) displayed (and make sure there's always something to fill that spot, even if nothing is explicitly scheduled):
- Events in progress
- Next upcoming event
- Newest [featured] post on Meta
- Newest [discussion] post on Meta