"Does she have duck and soup for dinner?"
Translation:У неё на ужин утка и суп?
If I have understood it well, на ужин is an independent clause that means "for dinner" - literally "in the dinner", so it could be omitted or moved to the end for the sake of clarification, so the sentence we are used to is: "у неё утка и суп (на ужни). As we learned in the genitive section, есть can be omitted in some cases. I'm just a Russian learner and English is not my native language, so if I made a mistake, please somebody correct me.
To clarify the point that chucklenuts7 made, есть indicates existence. If we were asking does she have dinner - У неё есть ужин? - we would use есть. However, in this case, we aren't asking if she has dinner we are asking a question about what she is having for dinner. It is implied that dinner exists, we just want to know what it is. So in this case, we use на instead of есть.
You usually add "н" to "его", "её" and "их" after prepositions. If those are possessives, "н" shouldn't be added. Overall the rules of this are pretty complex. Here is a list of prepositions that require "н": http://cdn01.ru/files/users/images/71/4c/714cba3e577366b4cfc5182ee7e5f905.jpg In the first column there are those that require it, in the second those where it's optional and in the third those that do not need it.
Also, "Ты хочешь пообедать?" This means "Do you want to eat lunch?" Not "what do you want to eat for lunch?".
You'd use the perfective verb here. Using the imperfective doesn't make sense because you're asking "wanting to have lunch" implies one particular time, not having lunch in general. The general question could instead be, "Do you like having lunch?" Ты любишь обедать? In the general sense, not a particular lunch on a particular day.