This would have the benefits of not nerfing the engines while not allowing sneak attacks, and eliminate a lot of the complications that would come with trying to simulate borders in space. It's not a realistic solution, but it's one that I think will benefit the gameplay.
I love anything that eliminates the need for engine nerfage. Requiring the player to declare his intentions is a very reasonable thing to do.
I do have a couple of questions/assumptions though. One is when you declare war against an opponent I would assume it's only the ships in that opponents zone of control that would be moved. It doesn't seem reasonable to require that all ships in otherwise non-combatant ZOC's be moved to your own ZOC.
Also when your ships are moved out of your opponents ZOC are they necessarily moved to your nearest ZOC area or are they merely moved out of your opponents ZOC and perhaps into a nearby non-combatant's ZOC. I can think of arguments for both methods but certainly one way or the other must be chosen.
I would assume that this works both ways where an AI's ships in your ZOC are removed when they declare war on you as well. But what happens if I declare war on an AI are his ships removed from my area? Not sure if they should or shouldn't. But then what happens in the case of alliances where I declare war on one AI and his ally AI declares war on me. I would assume that the one that declared war on me would have his ships removed from my ZOC but not necessarily the one I declared war on. Starting to get kind of confusing here.
Although not directly related some mechanism for a player to demand the removal of an AI's warships, transports and possibly influence SB's from your ZOC is something that's been needed in this game for a long time. An ultimatum that gives the AI some minimum time to respond which if they don't comply then a state of war should exist. Also if war happens in this manner then it should be considered mutual and not require my ships to be expelled from his ZOC or if they are then his ship also be expelled from mine.
I would also assume that this movement of ships only applies to warships and transports and doesn't apply to non-combatant ships (how are SB's treated?).
One final issue that may have since been resolved that relates to this is the issue that the ZOC is not immediately recalculated after a reload which results in your ZOC most often being taken as much smaller than it really is. I've had wars declared on me simply I've had ships well within my own ZOC that I've saved only to have these ships be in enemy territory for the turn immediately after reloading the game. In DL v1.4x the ZOC isn't apparently recalculated until someone captures a planet or upgrades a SB so I've had the initial default ZOC persist for many turns. If it isn't already then this certainly needs to be fixed or otherwise accounted for if this option is implemented.
To summarize I think this is a wonderful idea, but there are many details to consider which could make or break this idea as an overall benefit. The fact is that I haven't yet played DA even though I bought it during the Beta period last year and the primary reason is my preference for large games and the logistics nightmare I believe that engine nerfage would cause. This change would be greatly appreciated.
One final caveat and this relates to the large game performance issues that exist in the game. You need to be sure that this stuff works with large numbers of ships. I would recommend that this functionality be tested with a minimum of 25,000 ships in play (preferably all on autopilot) simultaneously.