The short answer to all of your questions is "yes
Level 2 cache enables multiple OpenAccessContext instances to share some cached data.
They have to be in the same Application Domain (in your case application instance) so no cached data will be shared between multiple instances of the same application regardless of the database/server that they are targeting. One exception is web farm with MSMQ acting as synchronization bridge between farm nodes.
In order to have use Level 2 Caching property you need multiple OpenAccess context instances to be used in you application. Usually this is the case. The context instances do not have to be live simultaneously. You will experience performance boost especially when having lots of static data that one context can cache and all requests for the same data will be served from the cache from that point.
When considering whether or not to enable Level 2 caching you should consider the other side - your application will consume more memory.
If you need any further assistance do not hesitate to contact us again.
OpenAccess ORM Q2 2013 brings you a more powerful code generation and a unique Bulk Operations support with LINQ syntax. Check out the list of new functionality and improvements shipped with this release.