I just finished reading a lengthy explanation in a different sentence discussion as to why they won't accept inexpensive as a translation for дешева. According to a moderator, the Ukrainian team agrees that дешева means cheap with all the same negative connotations as the English word and, likewise, there is a more accurate word to indicate something is inexpensive.
Not expensive = не дорога
Do you have an inexpensive room? = У вас недорогая комната?
Apparently, the sentence (at the top of this page) is for people who specifically want to take a walk on the seedier side of life! ;)
No, this works only when asking about a room at a hotel.
«Є» emphasises the fact of existence, 'having'. You're not asking is they have a cheap room, you're asking if they have a cheap room. The main thing asked is whether they have a room or not.
Since in the situation with an acquaintance you already know they have some room (after all, they live somewhere, right?), the main point of the question is whether the room they have is cheap or not. So, «є» is not the main point of the question, and «є» is not used when it's not the main piece of information.
> Do you have fun learning Ukrainian/languages?
Actually, I don't think Ukrainian has a direct equivalent of 'to have fun'. I'd ask something in the lines of «Вам подо́бається вивча́ти украї́нську/мо́ви?».
> Do you have time to eat lunch?
Yes, you definitely can say «У вас є час, щоб пообідати?»