There's no difference between ідуть and йдуть. I believe both should be accepted in this sentence.
«У мече́ті» 'in [a] mosque' is the location, «у мече́ть» 'to [a] mosque' is the destination. If you used «у мече́ті», this would mean they are already in the mosque, they just walk inside it.
That's right. Мечеті can also be a plural of мечеть.
Considering "й" and "і", and also "в" and "у" at the beginning of the words, in most cases the difference is purely phonetic, so you use a consonant when there are a lot of vowels around and vice versa. Do not confuse "удача" and "вдача" though: the first one means "luck" and the second "temper, character". However, this is the only exception I can think of.