Define different screen resolution when external monitor is plugged in
You don't need any apps, Snow Leopard and Leopard (and possibly earlier versions) do this out of the box.  I just tested it and it worked without any effort at all.  


Go to System Preferences > Displays
Select the checkbox 'Show displays in menu bar'
Connect your external display
Arrange them however you like
On your menu bar, you'll see an icon shaped like a screen with two legs, click it
Set your resolutions and that's it


When you disconnect your external screen, your MacBook screen will return to the original display setting, if you plug the external screen back in, the resolutions you setup last time will be automatically selected.

Note: I tried this with a Mini-DisplayPort cable because that's all I have.  I don't know if behaviour is different if you use a different connection.  I'm on a 13" Unibody 2009 model and running OS X 10.6.6