It sounds like you have an item that has different items in the bill of materials.
So it sounds like you need to have multiple items, each with a different bill of materials which correctly reflects the components in it.
Alternatively, you can make the item an Assembly Item - Assemble to Order
Then in the components of the BOM, you can list the prefered part with qty=1, and the optional parts with qty=0 (to do this you need to enter qty 1, move off the line, then come back to the line and set the qty to 0 on the optional part)
This way you have assembly with qty 1 next to the mandatory parts, and qty 0 next to the optional parts.
Then when you put the item on the sales order, and open the assembly components, you can select the parts the customer wants, then use Roll Up Price, to correctly calculate the price based on the parts chosen.
PS it will also help to refer to Costs and Prices differently, costs are what it cost to purchase/make it, price is the sales amount. So technically your asking for costs and prices in the one q.
If you can provide better detail, the community can answer more precisely.