For example: lets say I modeled a kitchen, the cabinets are all sub-assemblies inside the main room assembly. Is there a way for me to change the size of the room and have the cabinet assembly adjust itself accordingly?
Yes. In the example you've given you would need to edit your cabinet assemblies inside the top level assembly, establishing relations between the cabinets and the size of the kitchen. That example may not be simple, and may throw up some errors that would need fixing, but it could be done.
The key word you are looking for is top down, or in-context modeling.
There are a lot of ways to do this, but most reliable, fastest to rebuild and least likely to cause you to throw yourself in a river in disgust at the mess you've made, is with a layout sketch (not a layout feature! layout features suuuuuck).
Retrieving data ...