There was a hackathon about a similar problem:
There are multiple ways to approach this:
- With a button that would generate the full product of two lists into a separate table
- With a column formula (updated live) + pre-made sufficient number of rows
- With a column formula and automation that would add/delete rows from the product table (although with some delay)