No you do not need to create a separate eCart object for each product.
to have options like size and color, you need to create a new column in the cart object for each option type.
Create a new column named size, make sure to check the unique checkbox, then create another column named color, again, check the unique check box.
In the add to cart button behavior, select the size column, and set it to be updatable from a select list, then select the color column and set it to be updatable from a select list as well.
this should give you an add to cart button form on your page that has an text box for quantity and 2 select lists, one for size, the other for color. Select the size select list in design view, then in the property inspector, click the list values button to populate the list with options. Do the same thing with the color select list.
to have the options effect the price, you will need to create calculations on the calculation tab of the eCart object. If you can provide some specifics on how you want this to work, I can help you with setting up the calculation.