Before everyone groans and says: "What another one?" This is (initially at least) a private one with about 100 users very bespoked to our needs. Are there any existing application frameworks that can be used and easily reshaped into our requirements or if not, what's the best choice of tech for each tier?
It depends on your web framework. If you are using Django, then go with Pinax. If you are using Rails, you can find answers here
There is a Opensource Social engine called elgg on http://elgg.org/.
Our work group at the university uses it for documentation and organization purposes and it works quite well but it is not customized in any way, don't know how good that is possible.
Instead of writing your own from scratch or hosting the code yourself, you could use something like Ning, see http://www.ning.com, or http://en.wikipedia.org/wiki/Ning
From your other posts, I assume you're a ASP.NET programmer. If you want a fully customizable platform built on top of ASP.NET, I'd look at Community Server. If you're looking for a Open Source platform built for ASP.NET, DotNetNuke is a great option.
php/mysql rocks and most things and if your looking for a true social networking app then look at the facebook api which you can modify to suit your needs by the sounds of it.
also php framworks can allow for quick building of apps like cakephp
hope this helps
You can also use Communifire, a scalable, flexible social networking platform built on ASP.NET/C#.