Based on some previous work I've done for a global technology firm here's a technical architecture that would probably allow you to do most of what I've suggested either out of the box or through some customisation - yes our solution was Microsoft based, and since I'm not very technical I can only share advice I was given. Feel free to suggest better options!
- Microsoft Office SharePoint Server (MOSS)2007 – search, profiles, platform framework, content management
- Office SharePoint Designer 2007 - Design development tool for layout and customisation
- Microsoft Visual Studio 2005 Team System - In depth development tool for creating new webparts
- Microsoft Live Communication Server - Corporate IM and presence information