Can I assign a language for each iMessage contact? I write iMessages in different languages, depending on who the message goes to. Text input is very difficult if auto-completion/correction is using the wrong dictionary. Is there a way to assign a language for my contacts, so that iMessage will pick that up? Or if not, is there at least a quick way (without leaving the app) to switch languages manually?
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