The problem is that the server controls who gets slots and why. This means that you can't 'close' a slot from the game.qvm
In early versions of f0rqu3's lamebot, other players could join in the same slot as the bot, but the botcode would continue to run - essentially creating a server-side aimbot. Fun, but confusing, and most certainly not what most people want.
In order to avoid use of private slots, one would have to use a custom server binary and add some mechanism for the game.qvm to tell the server to close bot slots.