Answer to your first question: No. It's not stable. No, you can not expect that IR/bitcode generated by 3.1 will be readable in 4.5 - the LLVM project explicitly does not make this guarantee, sacrificing backwards compatibility in favor of the ability to move forward faster, create better optimizations and tools, and refactor parts of the framework as needed. LLVM is primarily targeted at static, ahead-of-time (AOT) compilers, so this approach makes sense for the big players.
The second question I don't really understand. LLVM has targets (backends) for many architectures, and works well for most of the popular ones. But again, their input is IR which is subject to change between releases. Also make sure to read this: http://llvm.org/docs/FAQ.html#can-i-compile-c-or-c-code-to-platform-independent-llvm-bitcode, and also the "Target dependence" section here: https://llvm.org/docs/tutorial/LangImpl10.html
The problem is that when asking about LLVM platform independence many people ask "will LLVM IR compiled from my C code be target independent?". The answer to this is No, because C itself is target dependent.