As Vincent mentioned, a door family can be created with many instances (types or sizes). You can select different profiles for the architraves, jambs, frambs etc, all contollable within the family.
Vincent is correct in regards to creating groups, although you can create a group within a group (i.e. different furniture configurations). Say you have two different furniture configurations and want to change one to the other. The process is simply to select the group you want to change and change it via the Type Selector (a drop down list of available groups that are within, or loaded into the project). So whilst you still need to create a separate group if you have a student apartment with a different door size, the process to change and or edit seems to be more intuitive. Also, coupled with the fact that doors can contain multiple parameters etc managing this workflow is relatively easy IMO. And best of all, it's handled all within Revit i.e. doesn't rely on third party developers (for windows and doors at least)