For example, if the Window size is 640x480 normally, but for certain stages/levels, I want it to zoom out a bit (like to 800x600). Is there a way to go back and forth without changing the window size for the entire project?
If you just want to zoom you can use layer scale and layout scales to do that but If you want to scale with a specific amount of size, then you are going to need canvas size and you can just set it back to normal when you leave the layout or etc.
1) Out of the two, I prefer layout scale / scale rate or layer scale / scale rate better than changing canvas size because the change of scale applied on a layout/layer will not affect others.
2) If you are using layer scale and you don't want to affect the change of scale of a specific layer onto other layers then make sure the layer name of the specific layer of you are zooming is unique.
3) You can use layer and layout scale/scale rate to make dramatic zooms and pick specific objects in a layer or layout to be zoomed.