Right now each watch opens its own connection on the backend, so you wouldn't want to open that many.
The recommendation is to open a watch for all possible consumers and then distribute to individual clients on the application side.
But we've definitely floated ideas to make this simpler / easier, especially with Spanner where there are a limited number of watch slots. Might be worth writing up a GH issue to discuss some future options to simplify this.