You can use the attributes controller.
for example:
create an option name of Memory.
create values of
- Please Select Your Memory (make it default and for display only)
- 512 mb
- 1 Gb
- etc
this will present the customer with a drop-down for memory allowing them to "customize" their order. You can establish the value (negative or positive) for each value.
You can do the same for power supply, hard drives, video cards, etc. for as many options as you wish. If a certain option name is not available on the "double-wide" you simply don't attach that option name to it.
HTH