Правилен первый вариант. Форма род. падежа мн. числа слова змей – змеев, а слова змея – змей. Ср.: Мы запускали воздушных змеев, но В низине много змей.
Ваше написание корректно, если в тексте второе слово этого сочетания является именем собственным (индивидуальным именем змея). Если же оно имеет значение символа, отвлеченной идеи, выраженной изображением змея, глотающего собственный хвост, то корректно написание со строчной буквы: змей уроборос.
Тире в указанном случае ставится.
Правила нет, в спорных случаях следует обращаться к орфоэпическому словарю, например: Орфоэпический словарь русского языка / Под ред. Р. И. Аванесова. М., 2000. Кстати, согласно этому словарю, звук [з] в слове змея может быть как мягким, так и твердым.
Такое оформление корректно.