Mike, couldn't you list a sausage as one item, sausage with bacon for a dollar more, sausage with peppers for a dollar more, etc.? You might end up with many sausage items, but it is a way around the limitation.
Or you could use a form for the added ingredients. Have a sausage for five dollars, then add an item that gives a choice of one of ten different toppings for six dollars. Add an item with a choice of any two of ten different toppings for seven dollars, etc. The form needs to be submitted before the user clicks on the add to cart, then a redirect to what I am calling a landing page for my implementation. The landing page has a return to cart button which uses the same code (I think) as clicking on the back button of the browser with the same result. Back to the page in the cart that the user was just on to finish the order.
Comments can be added using a form in the long description. I use Coffeecup's Form Builder, but you could use any program to create a form. Or use html to write a form. However you get the html, you need to use the "HTML" button on the toolbar above the long description entry box. You would need to have the form submitted with the fields that you need.
Just some ideas...