По первому вопросу
Код:
var
i: integer;
begin
with StringGrid1 do
for i:= 0 to RowCount-1 do
begin
Cells[1, i]:= IntToStr(x);
Cells[2, i]:= IntToStr(y);
Cells[3, i]:= IntToStr(i);
end;
end;
а насчёт второго, очевидно что нужно сохранять только два первых столбца, другими словами код покажите пжлст сохранения