If you expect to program in other frameworks the way you do in Java, then yes you are right, it will be painful as it should be. You need to do a mind shift and see the problems through different glasses. Functional programming is really another universe and if you have never done anything beside pure OO, it will take time for you to really see what you missed all those years. And yes, you can do everything you asked and much more.
1- 2pc is easily done with a specialized server (which should use a platform agnostic protocol)
2- single-sign-on solutions are not exclusive to Java (nor should they!)
3- session failover can easily be done by storing state in a db or specialized switches for example
4- as long as there exist an interop layer between both platform, you can do that. If JVM is the only choice, there are other languages than Java that can be used.
5- debugging/tracing is dependent on ide/tools, not the platform. Again it is not exclusive to JVM nor Java.
One framework you can try is Lift (http://www.liftweb.net) made with Scala on the JVM. You will still be able to use your frameworks of choice while learning to master Scala and its libraries. If nothing else, learning functional programming will make you a better programmer/architect.