First answer the question in the title: yes, you can use the same element datalistin several controls using its attribute value idin different elements input, for example
<datalist id="colors">...</datalist>
<label for="car">Color of your car:</label> <input type="color" id="car" list="colors">
<label for="tie">Color of your tie:</label> <input type="color" id="tie" list="colors">
Regarding the question “Where should I put it?”, LC5 LC talks about datalist:
Contexts in which this element can be used: Where content formulations are expected.
body, head. , . , . ( ) input, , , , body.
, <option>#ff0000</option>, <option value="#ffff00">, , , ( # ff0000). , datalist, , .
<input type="color">, , , IE, . , IE datalist, IE 11 - <input type="color"> as a simple text box, . This means that the user, on clicking element, would see a dropdown list of color codes like #FF0000. For this reason, unless IE is irrelevant, you should specify a visible name for the color in a label`, .
<option value="#ff0000" label="red">
<option value="#FF5100" label="red orange">
datalist body input.