I am not aware of any set limits. Of course, there will be practical ones depending on your environment and the complexity of your flows.
Again, I am not aware of anything.
Overall, Dashboard isn't really meant as a multi-user system.
If you can do without Dashboards excellent hand-holding for creating UI's, you might look at uibuilder. This allows for an ExpressJS middleware function that could probably be pressed into use for this purpose since all requests will go through it. So you could easily keep track of the number of connected clients & reject connections (by setting an appropriate http code or redirecting to a specific page for example) beyond the desired number. Releasing might be more tricky, though because uibuilder reports on client connections and disconnections, it should certainly be possible.