Gaim should have ability to use calendars from Evolution or Thunderbird to automatically set you as away
The way I see it working is that you create a personal calendar in something like Evolution or Mozilla Thunderbird (which conveniently both use the iCal standard format), and an optional plugin for Gaim would parse that information and feed it into the away settings. For instance, if your calendar says you have a meeting with your boss from 2 to 4 PM on Tuesday, if you happen to have Gaim open (and the plugin enabled) on Tuesday, when 2 o'clock rolls around, it will automatically set you as away with the message (for the protocols that support such messages) of "At a meeting with my boss. Will be back around 4:00 PM". There would be a configurable option to either have it automatically also set you as back at 4 or make you manually return (for those whose meetings always run over). It would just have to get basic event information like a title, start and end time, and maybe some other comment from the calendar file. Popular clients like Evolution and Thunderbird should have the ability to just check a box for them to use their calendar functions (to tell it the path to the calendar file), while also having the option to manually specify the path to some other calendar file in case someone uses one from something else. Integration with Kopete too would be a plus.
It has been pointed out that this may have overlap with the goals of Telepathy, and may be a specific feature that could fall under https:/
Google Calendar has an option for each event to be set as "Available" or "Busy"