S.T.
simple, stop letting her get away with it. you have created a picky eater by not making her eat and giving in to her. when you cook dinner for you and your husband, give her the same foods, much smaller portions obviously. if she doesnt eat, put her down. no snack until the next meal. same thing, put the same foods on her plate that you and hubby are eating. if she still doesnt eat do the same thing, put her down from the table with no snack. if that means she goes to sleep with out eating dinner then so be it. it will not take long for her to realize that YOU, not her is the boss, that you are not a short order cook and that if she wants to eat she has to eat what you give her.
we have never made special meals for our toddler, he is 2 1/2. there are certain foods, tomato's for example, that we know he genuinely hates. if we have something with tomatos we will still put 1 bite on his plate, he will try it but usually will spit it out. but by doing that we have gotten him to like green beans and chicken where he previously didnt want to eat them. since he has started with table foods he gets what we get. by just doing the "kiddie" foods you end up causing picky eaters and other issues. nip it in the bud now!!
and you really need to get her drinking water and milk. i dont know how you say she wont drink it, put it in her cup and nothing else, when she is thirsty she will drink. be the mom not the friend.