you need to use a linking table as suggested by Ian.
and use the Data Assist Manage relational table behavior on the products insert and update pages to assign cities to the product.
Andrew reded wrote a good tutorial for using the manage relational table behaviors here:
to be able search by city and state you will need to use a join query to return data from the products and cities table using the linking table to create the relationships.
see the following for details on joined queries: