I'm a MacBook user, and when I'm home I plug into a large external monitor to get additional screen space. When I'm on the go I disconnect and use my laptop's built-in display. For the most part this arrangement works very well; however, I occasionally run into an issue where I'll resize an app on the external, causing it to be too large to fit on the built-in screen when I disconnect.

Most apps don't have a problem decreasing their height automatically or resizing to fit when I click the green orb, but some (like iTunes) don't want to cooperate. How can I resize apps like iTunes without reconnecting to my external?

For 99% of applications: The green button in the top left of any OS X window is called the "Zoom" button and will resize the window to it's contents so long as it fits in the current resolution. This is the same as choosing Zoom from the Window menu.

For programs such as iTunes that show a completely different mode when you choose Zoom, you can hold the option key when clicking the zoom button to force it to perform the normal zoom action instead of changing modes.

You should try a third party window management add on, it'll really suit your power user style.

Try Cinch, which is a shareware program that adds AeroSnap-like functionality to a mac (like that in windows 7, which allows you to drag a window to the top of the screen to make it maximize, or drag it to either side and make it consume exactly half the screen).

Also Stay is a great app for setting specified locations for windows to exist, and have them be restored to that spot every time the display configuration changes or the app is open. (for example you could set your contact list to always be in the rightmost side consuming a small portion of the screen. Everytime ur IM app is opened or a screen is plugged in or unplugged, it'll move back to it's spot)