Nothing stops you from deploying the same war in different servers.
The easiest approach I see is having Application Logic developed separately and deployed to your WebService project as a consumable jar.
Testing during development sucks in Java for web development, I try to avoid it as much as possible.
The only disadvantage I see in having all operations in a unique WebService is aesthetical. But as I said, in the same eclipse project, you could (at least I think, never tried) create 2 classes that dispatch each operation to Application Logic (it could have a broker) and share some operations, and create a WebService from each of these classes.
Since you have to identify who's consuming your WebService, I suppose you already have authentication and permissions controls, it's better to use them instead of adding complexity to the project. You could create a xml config file and set which roles are allowed to access your WebService, and use your permissions control together with this config to deny access. With that you only need to deploy the same war file to as many servers as you want and set this config, therefore reserving some servers to specific roles.
You also could make your current WebService internal and block it from outside IPs, and create 2 new projects with WebServices that serve outsiders and consume this internal WebService. But that's also extra complexity and performance I'd avoid.
As there are WebSites with pages that return 403, and WebApps with pages that are unaccessible (like backend admin pages), there's nothing wrong having WebServices with operations with limited access. Just handle permissions control and return some access denied exception and some message explaining a) why access was denied, b) who to contact to talk about it and ask for access permissions and more details, c) explicitly saying that other operations should still work.
Your issue is more of a permissions control issue than WebService issue. Imagine if you have 6 roles, would you create 6 WebServices/projects just so that each of them see only their available operations? In WebSites and WebApps it's easy to build menus and links based on roles, but for WebService it's not that easy to hide unaccessible operations.
Also, if your software may require multiple servers,
you should seriously think Stateless during its development. It's damn hard to handle multiple servers and balancement while handling sates/sessions/etc that are stored in one server and are needed on another.