Learjeff
If you want to have an unlimited and changing number of lists, and a changing length of each list; without duplication ... you do have to model it properly. Assuming you will implement in MySQL, not csv files.
[5] is the closest option you have identified to the correct model, but you do not appear to understand keys and Primary Keys. If the SystemCode is the PK in the System table, and the GroupCode is the PK in the Group table, then your [5] is an Associative Table (without repetition of either System or Group attributes). This is the ordinary resolution of the many-to-many relation between Group and System. However, it
does have a Primary Key. The PK is the GroupCode+SystemCode, the pair as you call it; that prevents repetition of the Group-System pair. The columns above the line are the Primary Key. These are Foreign Keys to each of the Group and System tables.
In fact, from your post, Component and Feature are also many-to-many with System. If you do not wish to have the pair repeated, forming the PK from the two parents is the normal method. The database engine will prevent duplicates.
Have a look at
this. In IDEF1X, the solid lines mean Identifying Relations (the parent PK is used to make up the child PK, strong relations); the dotted lines mean Non-Identifying Relations (the child PK is independent of the parent PK, weak relations). In either case the parent PK is migrated to the child as a Foreign Key, that is how the relation is established.
For your understanding, I have supplied Component such that there can be more than one unit in a System, but the fact of the Component in the System, is not repeated. Enforced by the server.
As a counterpoint, not suggesting it is true in reality, I have supplied Feature as repeatable for each System. Here, you will have to limit the number of times a Feature is entered against a System, in your code. Enforced by you.
Also, you appear to think that Keys are single column only. That is not correct. Compound keys are normal in a relational database.
Last, searching is not a problem in any of the above; if you think it is, post again.