its not exactly a simple task because you cannot use arrays in MP scripts, so I'm afraid you will have to use metavariables. Here's some code you could try:
;// INIT.SQS CODE - RUNS ON ALL CLIENTS
~random .5
?format ["%1",clientCounter]=="scalar bool array string 0xfcffffef":clientCounter=0; publicVariable "clientCounter"
_player=PLAYER
_p=[_player]
Call Format ["client%1=_p select 0", clientCounter]; publicvariable format ["client%1", clientCounter]
clientCounter=clientCounter+1; publicVariable "clientCounter"
Ok short explaination: First off I check if the "clientCounter" var is initialized, if not it is set to zero. Next I make a metavariable "clientX" with X being a number from 0..clientCounter-1 and stick the player ID into it.
There is a random delay to reduce traffic and collisions of the variable broadcasting.
In you script where you need the player arrays, use the following expression to get hold of a player name:
_playerUnit=Call Format ["client%1",_c]
where _c is a number between 0 and (clientCounter-1)
hope that helps!