3 & 4 only, read Dans response for these and test the EAN scanning in LS. Hint, what happens when you put the EAN for one product in the UPC field of another product, or the description, etc.
This is not directly comparable to what I have tested so you will want to clean the code up a bit. Throw a ternary in for hide_barcode_sku so you can get rid of hide_text and toss out localsku if you are only going to be using EAN and just reference Label.Item.ean. If you are storing EAN with check digit (13 digits long) you need to use a string operator to remove the last number as the LS barcode generator adds the checkdigit for you.
{% if hide_barcode == false %}
{% if hide_barcode_sku == true %}
{% set hide_text = 1 %}
{% else %}
{% set hide_text = 0 %}
{% endif %}
{% set localsku = Label.Item.ean %}
{% if localupc | strlen == 13 %} {# EAN-13 w/ check digit #}
{# get rid of last digit in localsku here #}
{% endif %}
<img class="ean13" src="/barcode.php?type=label&number={{ localsku }}&ean13=1&noframe=1&hide_text={{ hide_text }}">
And I'm just going to drop this here as an example of what Dan referenced with "external process to generate a barcode". DO NOT DO EXACTLY THIS, you need to use a reliable generator and not just the first thing I googled.