On the other end of the spectrum I would be happy if I could install a Wiki and share the login credentials between WordPress and the Wiki. I hacked MediaWiki a while ago to share logins with another site (in Classic ASP) via session cookies and it was a pain to do and even worse to maintain. Ideally I would like to find a plug-in or someone who knows a more elegant solution.
This tutorial should get you on the right track to integrating Mediawiki into your WordPress install. It's certainly going to be a lot easier than hacking WordPress to have wiki features, especially with the sort of granular permissions you're describing.
My company uses WordPress and MediaWiki internally and we use HTTP_AUTH access control to create a "single sign on". As we add more applications, we simply integrate them into the HTTP_AUTH system where practical. For security, you can run HTTP_AUTH over SSL. The basic steps are:
Configure the .htaccess to specify the authentication type. We use MySQL in production but you could have a simple htpasswd file.
In the WordPress directory's .htaccess file add the following:
<Files wp-login.php> AuthType Basic AuthName "Restricted Access" AuthUserFile /some/path/to/htpasswd Require valid-user </Files>
In the WordPress wp-admin/ directory's .htaccess add the following:
AuthType Basic AuthName "Restricted Access" AuthUserFile /some/path/to/htpasswd Require valid-user
In the MediaWiki directory's .htaccess file add the following:
AuthType Basic AuthName "Restricted Access" AuthUserFile /some/path/to/htpasswd
Then install the HttpAuth extension for MediaWiki and the HTTP Authentication plugin for WordPress and configure. We had to make some slight modifications to the MediaWiki extension as our hosting environment does not provide mod_php but if you have mod_php it will work out of the box.
Note that our environment is a private intranet so everyone is authenticated. The above .htaccess files will work for publicly viewable blogs but some additional tweaking may be required for the MediaWiki .htaccess depending on whether you want everyone to be required to be authenticated or not and if the site is publicly available.
Both MediaWiki and Wordpress support OpenID:
www.wordpress.org/extend/plugins/openid/
www.mediawiki.org/wiki/Extension:OpenID
Though, I think for automatic logins (after you log in to one, you automatically log in to the other) you would need to look into implementing checkid_immediate
www.openid.net/specs/openid-authentication-2_0.html#anchor28