The house shrank because you changed your model units. A wall that was 3000mm would be 3000’ if you didn’t scale. In order to get that wall to be 9’-10" and change you need to scale the model down so what was 3000 units is now 9.84252 units (if you are modeling in feet, 118.1102 if modeling in inches).
You dimensions ended up looking massive because they are still using the unit settings they are picking up from you dim styles. So if you had set your text and arrows up to be 3mm tall, when you change you model to feet, they will now be 3’ tall.
For you last question, you do not have to change the units if you are outputting to a different unit system, but it is highly dependent on the situation. If you are building a house and say only one trade wants drawings in metric, but everyone else wants drawings in imperial, it would make sense to keep the model in imperial units and just use a different dim style for that one drawing (or include alternate units for everybody). If you modeled it in one unit system, but then found out that it is being built elsewhere and everyone will be using a different unit system than you, probably best for you to change units.
Rhino is pretty good about mixing units as well. For instance if you are building your house in imperial units and thus have your model in inches, but have one piece of hardware in millimeters, you can draw that piece of hardware pretty easily using the proper suffix on the command line. So if you call line, pick your first point, then for your second point enter 1000mm, you will get a line that is 39.37".