Your engine choice will depend in part on your player base-
Are you looking for a persistent online world for all players - IE, a full MMO? Then you'll need a flexible MMO engine that lets you create an FPS/Action style client. And, it will need to be able to dynamically change the environment.
From what I know, Unity3d, Cryengine and UDK are only client based- You will need to add code for communicating efficiently with a server cluster and find some kind of server backend (in theory, you could use Multiverse server and build your client in UDK/Cry/Unity). Others have already done this I think, and might be able to help you in building such a thing.
Multiverse could probably do what you want, but you'll need to do a lot of work. The client will probably need physics (some are implementing BulletSharp into the client code to do this), but in theory it is doable. Multiverse has seamless worlds as an option.
I might also recommend HeroCloud- It costs $99 a year, but they provide your servers, development environment, and payment systems. The platform is the one used for the new Star Wars MMO, so it's well tested. The scripting language is proprietory- A hybrid object-oriented/procedural language that is extremely versatile. The language is the same for coding the server and client, which is a bit of a bonus, but the learning curve is high. HC also has some neat 3rd party licenses included, such as speed tree and some facial animation / character rigging software.
I haven't checked out Panda3D in a while- Disney built it's Pirates of the Caribbean MMO using Panda3D and only the Python scripting aspect (no C++ code changes). It's free, versatile and very up-to-date graphics wise. There's been a few MMO projects for it, but again, you could try using it for a client with Multiverse as the server.
IF you don;t want a pure MMO- more of a Multiplayer experience like Left 4 Dead, then UNITY/Cry/UDK may be a better choice.