Here's what to do, I hope it's clear.
BTW, I recommend you hold ALL prices in your prices table.
If you have your data in different places, it becomes hard to debug.
(The structure i laid out is not for a price surcharge, it is to replace the price value in your products table)
Assuming your add to cart button is on your productdetail page...
The way ecart works, is that when you click the add to cart button, the add to cart form posts its data into the ecart array.
when the customer opens the productdetail page, they have selected the productid, but not any 'options' ie size, and hence at this point, the price is unknown.
have the sizes available for this productid in a select list, within your add to cart form
when the customer chooses a size and clicks 'add to cart' the form is posted.
you need to add some code to check for the form being posted, (before the code for the cart putting data into the array.)
if it has been posted, you run a lookup query, which looks up the priceoptions table, where the productid is the url variable and the sizeid is the value returned from the select list in the posted form.
this will return 1 row from your lookup query with the price.
use this price in the ecart array
same principle applies for colour or any other options you may use
read through this a couple of times, it may seem a bit complicated, but you will appreciate the logic