Quick update to say I have solved this problem...
1: From the product page, Option ID's are submitted as an array
2: I "implode" the Array, and use that (with IN) for my option value lookup
3: My option value lookup sums the prices differences to a value, and sums the weight differences to a value
4: Option names are saved as a comma list.
In the eCart Object there are just three containers that hold all the necessary data.... Name (which takes the comma list from #4), priceDiff, and weightDiff.... both from the calculations in #3.
The benefit of this method is that you don't have to create an eCart Object for each option... It allows for unlimited options per product, and all options can be managed from the database alone.
If there is a caveat to this that I am missing, please feel free to point it out. Or.... if there was an easier method that I overlooked - I'm open to that as well!