Here are some general observations on the various game engines [This might be a repost. - BL]
While it isn't obvious how to use a Steam-based product off-line, this can be done. You have to connect to a Source server (internet, intranet, etc.) sometime but it is possible to then work with that configuration off-line. Naturally, you are using the engine in a single-participant mode and won't get updates from Steam. Using a Steam product in off-line mode is described on the Steam support site at http://support.steampowered.com/
One of the big differences in the engine providers (Valve, Epic, etc.) is how they make money. With most there is some combination of up-front fees and/or a share of per-unit sales. This impacts their enthusiasm for educational or not-for-profit applications. Epic/Unreal appears the most supportive of this. In short, the Unreal Runtime is free for educational/not-for-profit use - this is described on the Unreal Developer Network site at http://udn.epicgames.com/
All the major providers support some ability to modify "mod" the game - at no cost for license, tools, etc. For example, almost every Unreal-based game comes with the Unreal Editor. Crytek provides their SandLot editor with their product (Far Cry). Tools are easily downloaded for the Quake and Source engines. From the vendors standpoint they still make money at this since each use of the mod will have to buy a copy of the retail game. For developing a Virtual World to be used by a modest number of users, just buying enough copies of the game is an attractive option - 100 x $40 is lots less than $100k to $1m in license fees.
Depending upon the engine, it may not be necessary to drop to the C++/SDK level - the power of the level editor, map editor and scripting tools is often greatly underestimated. This greatly simplifies the development effort, makes it easier to use domain experts rather than programmers, and also avoids some cost/license obstacles. Naturally, it would be prudent to do some early illustrative experiments to ensure that the technical solution can be realized without using code/SDK.
As far as physics go, some of the game engines use their own and some have re-used another product. So, if that is the most important part, one route is to by-pass the game engine provider and go straight to the physics engine provider (e.g. Havok at http://www.havok.com/).