I have already worked on one feature you described: Able to configure separate institutions within a single Moodle.
What I've done so far is to put more control into the "category list" of all the courses, and try to treat the parent categories as "clients" or institutions, as you call them. See the screenshot below:
What I've done is created several base categories and called them "Clients." Inside each client, you can create subcategories for each department, and create subcategories within. The special thing here is that I've hidden all the base categories -- and I changed the code a little that the category will only be SEEN to users that are assigned. I'm using cohorts to assign users at a category level too.
So then we have this workflow:
1) Users are assigned at a category level. Categories remain hidden unless you are assigned. This already means that clients can be separated from each other and they'll never know the other exists.
2) Now that users are assigned in the category, they can see all the sub-cateories, or departments, available to them. However, those users are not ENROLLED to those departments automatically. You need to manually assign the role of "student" to each user, so they can access each sub-category.
When making NEW users on the website, I'm doing this with CSV files and manual input -- this allows me to set the theme for each user. So when their account is created, you can choose a different site theme based on the "client category" they are assigned to. I've also modified the "user settings" page so that normal students cannot modify their theme - that action is available to ADMIN's only.
In the end: a user logs in, they only see the site theme assigned, they can only see the "client category" and sub-categories available in their courses. I've also modified some of the blocks, like "online users", that will only display users within that category.
What I'm working on right now is the ability to change the navigation block and the custom menu to be dependent on theme, and in my case, I am using different themes on each category. This gives A LOT of flexibilty in controlling many different clients with one Moodle.
I hope that explaination made sense so far