Can I assign a language for each iMessage contact?
I don't think automatic switching is available at the moment but a quick way to switch manually without leaving the app is to enable multiple keyboards. You can do this is Settings -> General -> Keyboards. 
Your keyboards will now have a globe button next to the 123 button to enable fast switching by tapping the globe and you can hold it down and select the desired language :)
Having the keyboard in a different should change the dictionary and autocorrect features automatically. 

Hope this helps