I'm trying to get a handle on this. If product typically have two options (color and size) are we talking one options table (with both color and size in there) with another lookup table (the intermediate table you mentioned)? Or two options tables, one for each type of option, one for color and one for size? I'm thinking the latter, so on the product page I could filter the options by product ID to display only the applicable colors and sizes in two select lists. So DB would look like below, right?
productID, productName, productDescription....
E.g. Chair, A durable shower chair.
optionID, productID, optionName, optionSKU
E.g. Red, SKU0301
optionID, productID, optionName, optionSKU, optionPrice
E.g. Small, SKU0032, 725.00