MarketPress for Complex Products

If I want to sell a series of product where each product is complex how do I deal with multiple attribute types when they have different costs?

For example Product A comes in sizes, colors and upgrades. If the customer wants Product A (base price) in Blue (extra Charge) Size Small (reduced charge) then I will want them to also know about Product Z because they should buy that too. How does MarketPress deal with this situation?

Also, can I manage the checkout process so that first they choose products from category 1, then category 2, then 3, then check out?