Can you assign different default keyboards for different apps?

Not stock I don't think. I know on some ROM's (Beans and probably others) you can set a different keyboard to appear when using the S-Pen and when you aren't. Other than that I don't think it's possible.
 
With the Tasker app, you can have the "Choose input method" window pop up every time you launch the Handcent and email app.
 
When I use my smart dock my phone is programmed to automatically use an external keyboard. I also have a keyboard helper app that helps with certain android functions that a normal keyboard isnt meant to do.

When I detach from the dock it automagically go backs to the stock samsung keyboard.

Sent from my SAMSUNG-SGH-I317 using Tapatalk 2