Single site with multiple user interfaces based on path and role
Role Theme Switcher does what you're asking for roles.  For access to pages you could write your own custom module that implements hook_node_access or you could use Views permissions (which I've found to be quite easy and works well) or you could use another module that manages permissions on a per-page basis like Content Access or Nodeaccess.

Lots of options for what you want.  I personally recommend trying to combine Role Theme Switcher with Views permissions.  Otherwise I would go for making a custom module with hook_node_access.  I don't recommend Content Access or Nodeaccess, they've never worked exactly right for what my needs are, but they are there for reference.

EDIT: You may also find Rules to be helpful re-directing users of certain roles to certain pages based on their role when they login.

EDIT 2: As I mentioned in the comment below, logintoboggan is another module that will allow re-directs upon user login.