Different Register Pages Based on Role

Does anyone know if it is possible to create different registration pages based on the role you wish to assign the created user?

Also, is it possible to require different fields to be present and required for different roles or is the User Registration (User Profile) page intended for just common attributes?