Content control list boxes are not limited to 25 entries or 75 characters. 40 products and 140 characters shouldn't present a problem - You may find
https://www.gmayor.com/insert_content_control_addin.htm useful to populate the list from an Excel worksheet.
The calculations are a different issue entirely and cannot be achieved without macros which will have to be provided to the user. If you are bothered about rejection, send users a link to a web resource in order to allow them to download the file.