Hola,
Bueno. Usar un Array pudiendo usar un "TObjectList", por ejemplo, hará que tengas que trabajar más, para empezar. Ahora bien, para identificar al "checkbox" en que se hizo clic, puedes valerte del parámetro "Sender" del propio evento "OnClick".
Dicho parámetro "Sender" puede contener una referencia al objeto que "disparó" el evento. No siempre es así, porque nada te impide utilizar el evento "OnClick" por tu cuenta y riesgo, y no enviar referencia alguna, por ejemplo, pero, en general, es como digo al principio.
De tal como que es posible hacer algo como esto:
Código Delphi
[-]
procedure TForm.CheckBoxClick(Sender: TObject);
begin
if (Sender is TCheckBox) then
begin
end;
end;
No sé si te aclaro algo o no... pero, a lo mejor te he dado alguna idea por lo menos.