If I have a site with various administrators/contributers who all have a different level of access to their part of the site, how can I make sure that in the drop down of 'page types' only certain page types relevant to that administrators section are available to them.
Also in the site tree I want to hide the pages not available to them.
Some things can already be done with the page access-settings. For a solution like yours, you'll probably have to implement some of the methods I mentioned previously.
The pages in the dropdown can be limited, by checking the current user and his access-rights in the "canCreate" method and returning true (can create) or false (cannot create).
I'm not sure if there's an easy method to hide pages from showing up in the site-tree. Maybe you'll have to subclass site tree and implement the desired behavior yourself. I never did this, so I cannot tell you if that would be an easy thing to do.