1) I tried to execute the operation binding but got null pointer...in FacesCtrlActionBinding._execute(FacesCtrlActionBinding.java:252)
If you mean ADF operation binding then this only is available if a request is routed through the binding filter. Note that the PageDef file for a page needs to be parsed before the content becomes available as an object at runtime.
2) I tried to redirect using external.encodeActionURL(actionURL) but got illegalStateException...Response is already committed
Why don't you use facesContext --> externalContext --> redirect(...) to perform the redirect, The dispatcher.forward() surely doesn't do this
3) How do I get it to work at login? Where can I tap-in the methodAction call between SignInPage and HomePage, so that HomePage is rendered according to language?
Programmatic authentication as explained in the Fusion Developer Guide (chapter 30 if I recall correctly) would give you a chance to set the language. However, the language is not set on the ViewObject but should be set on JSF by changing the default language, e.g.