«За́раз» can mean 'in a moment' too, but then you'd need to use the future tense of the verb: «Вони́ за́раз бу́дуть у рестора́ні» 'They will be in a/the restaurant in a moment'.
«Вони в ресторані зараз» is in the present tense, so «за́раз» means 'now, right now'.
Unlike Polish, Ukrainian drops the verb 'to be' in the present tense. If a sentence doesn't have the main verb and the previous context doesn't make the verb obvious, then the verb is 'to be'.
Because вони ends in a vowel.
After vowels, you normally use в (except when the next word starts with в, ф, or some consonant clusters like льв).