This is a problem with reported speech in english vs russian. In Russian there is no shifting of tenses. If you ask someone in present then it stays in present in reported speech. In english everything reported gets shifted in the past (So, he asked if you have a boyfriend is grammatically wrong). Distinctions in russian are made directly with the use of different tenses in the reported clause, as was used in the original sentence.
Well, если is one word and it does mean "if". For instance, Есть ли у тебя машина? Если нет, то нам надо пешком идти. Or, Если у тебя время завтра, покажи мне твой новый компьютер. This particle ли basically means "if" when you're uncertain about something. So here, the sentence might sound like "He asked whether [or not] you have the pass". Ли kind of means "do/does" or "is/are/was/were", if the speaker is expressing doubt or as part of a yes or no question.
Your examples sound a little unnatural to my Russian ear.
The first one I would better say: " У тебя есть машина? Если нет, то нам надо идти пешком" - " Do you have a car? If not, then we have to walk"
Is the second one you should say "есть время". "Если у тебя есть время завтра, покажи мне твой новый компьютер" - "If you have time tomorrow show me your new computer". Sometimes in Russian you can drop "есть" (is, are), but in this case you can't.