While double posting is frowned upon, your post doesn't qualify as a double post, since it's a reply. For future reference, you can edit a previous post that you have made within an hour of the posting time.
In regards to your updated post, and your original first request, I don't recommend tracking the players in the method you requested, as it can get very complicated if people leave the channel. Below is the code that I would recommend. It tracks all of the players in a single space delimited variable.
on *:text:player & joined the game:#:{
set %user.ingame $addtok(%user.ingame,$2,32)
}
on *:kick:#:{
set %user.ingame $remtok(%user.ingame,$knick,1,32)
}
on *:part:#:{
set %user.ingame $remtok(%user.ingame,$nick,1,32)
}
on *:quit:{
set %user.ingame $remtok(%user.ingame,$nick,1,32)
}
In regards to kicking using DDE commands, I'm sorry to say that I don't have a clue as to how to do that, as I've never received instruction on the format of DDE commands. What I posted earlier will kick/ban per your original request, and the kick/part/quit events in the above code will handle removal of their nick(s) from the players list (if necessary).