Das scheint hier also die Lösung zu sein. Gibt es da für Delphi schon etwas fertiges?
Es gibt diverse fertige Aho-Corasick-Implementierungen in Delphi. AC ist ein Algorithm für die Suche nach mehreren Strings gleichzeitig. Ist der Suchbaum einmal aufgebaut, ist die Suche in einer Artikelnummer ziemlich schnell, da jedes Zeichen nur einmal verglichen (und der zugehörige Pfad im Baum gefunden) werden muss. Und da sich Artikelgruppen nicht oft ändern dürften, müsste der Baum nur selten neu gebaut werden.
(edit sagt, dass AC natürlich schon Overkill ist, weil es auch nach Position 0 noch sucht... aber eine fertige getestete Implementierung ist halt auch was wert, alternativ könntest Du die entsprechenden Pfade im Baum einfach weglassen)