True; and this course usually errs on the side of literalness in order to give us hints about how to construct the Hebrew sentence. But I agree with Mika that "cooks for me" is much better English. "Cooks me food" just sounds odd. It's one of those things that are not technically wrong, but it doesn't quite sound natural.
That is a good question, but it's about English, not Hebrew. Almost always, "food" is a general noun (like water, air, mathematics) that never has an indefinite article (a/an). BUT just sometimes people talk about "foods" meaning different kinds of food -- for example, you might say "A balanced diet consists of various foods" -- and in that case you could talk about one of them as "a food".
But: (1) to say "a tasty food" would sound quite strange to English (UK) ears, and (2) I don't know whether אוכל can be used in the same way, I suspect it can't. You can say "a tasty dish" in English, meaning a specific kind of food -- Morfix gives תַּבְשִׁיל, מַאֲכָל, מָנָה for this, but not אוכל . I hope that answers your question -- please excuse the long answer!