Notes field only for certain product types
I think you can do something like;

{% if product.type('products') %}
    code to show notes field
{% endif %}


See the product model docs here https://craftcommerce.com/docs/product-model

The note attribute is part of the lineitem model so you should be able to show it. 

https://craftcommerce.com/docs/line-item-model#note

The following should work.

{% for item in order.lineitems %}
    {{ item.note }}
{% endfor %}


You could try naming your input field like so;

&lt;input class="form-control" type="text" placeholder="Productsort"  name="item[note]" value="{{ item.note }}" required&gt;


I'd need to test this though. I've done something along these lines but can't remember exactly what I did.