Hola, puedes recorrer las lineas seleccionadas del dbgrid, añadir en un listbox temporal el campo identificador y lo que necesites, y luego filtrar tu tabla o query segun estos campos en el listbox. Para recorrer el multiselect:
Código Delphi
[-]
ListBox1.Clear;
for i := 0 to DBGrid1.SelectedRows - 1 do
begin
DBGrid1.datasource.dataset.GotoBookmark(Pointer(DBGrid1.SelectedRows.Items[i]));
ListBox1.Add(DBGrid1.DataSource.DataSet.FieldByName('id').Asstring);
end;