czy is not necessary.
But it is a good word, especially for the beginner. In the real world it makes the fact that it is a question more clear, especially when you have trouble with pronunciation and word order. It is also more polite.
Also in such a question, not using "czy" could feel as if you're making sure your interlocutor remembered to take something which he was supposed to take: imagine asking a friend "Masz pieniądze?" (she was supposed to bring money she owed you) or "Masz zioło?" (Do you have the weed? - he was supposed to bring the weed).
It's obviously not that it has to be like that, but not using "czy" at least opens the gate to such an interpretation, while "Czy masz" should be a simple question about whether you have something or not.
Do you change the intonation for questions aswell? Because in portuguese to make sure it's a question you have to change it.
Yes, questions would rather have a different intonation than declarative sentences.
This may be a bit off topic here, but are there any books you recommend to learn more about the polish grammar?
This is a question, but the voice doesn't intone it as a question. Likewise, some statements elsewhere are intoned as questions. Hopefully the next iteration of the tree will somehow avoid this problem...
Because in that sentence they did not, that's exactly why.
"mieć" (to have) takes Accusative, which for masculine inanimate nouns (like "basen") is identical to the basic, Nominative form.
Whenever you negate a verb that used to take Accusative, it takes Genitive instead - which is "basenu". That's what you had in the other sentence.
Other cases don't change when negated.