Ja, Spring4D bzw Listen wären auch meine ersten Gedanken gewesen.
Wenn es denn unbedingt Arrays sein müssen, wäre mein Ansatz, erstmal ein Enum für die Automarken zu machen.
TAutoMarke = (amUnknown, amBMW, amMercedes, amToyota etc.);
Dann ein 2dimensionales Array
TAllesEinerMarke = array of [TAuto];
TAlleAutosProMarke = array[TAutoMarke] of TAllesEinerMarke;
Dann ein Dictionary aller möglichen Benamsungen
TMarkenBenamsung = TDictionary<TAutoMarke, string>;
... zB amMercedes mit 'Marzedes,Merzedec,blah'
Danach kannste das Originalarray in einer Schleife durchwandern und im Dictionary suchen. Dann abhängig von der gefundenen Benamsung in das entsprechende TAutoMarke-Unterarray innerhalb TAlleAutosProMarke kopieren.
Nur mal so aus dem Kopf ohne Gewehr