No acabo de entender muy bien lo que necesitas, pero aun así, creo que te sería mejor utilizar un TCheckListBox (igual que un ListBox, pero ańade un checkbox a cada línea) que facilita el porder marcar elementos.
A partir de ahí basta con recorrer el control para saber cuales están marcados:
Código Delphi
[-]
var
i:Integer;
begin
...
for i := 0 to (checkListBox.Items.Count - 1) do begin
if (checkListBox.Checked[i]) then
else
end;