memo1に自分で書き出しているのなら、あとふたつTStringListを用意しておいて、memo1に各行を出力する裏で同時に書き込めばいいんじゃないの?

for( int i = 0; i < 1500; i++ ){
  memo1->Lines->Add( 1行分のcsv文字列 );
  x->Add( 2列目の情報 );
  y->Add( 4列目の情報 );
}

どうしてもmemo1の内容を再利用するしかないなら項目分離用TStringListを用意して

TStringList* Values;
Values->Delimiter = ',';
for( int i = 0; i < 1500; i++ ){
  Values->DelimitedText = memo1->Lines->Strings[ i ];
  x->Add( Values->Strings[ 1 ] ); //2列目の情報
  y->Add( Values->Strings[ 3 ] ); //4列目の情報
}