Hi A.,
I just wrote a blogpost about the very same thing!
http://skyteahouse.blogspot.com/2011/02/but-mama-i-dont-l...
Take a peek if you want a real-life account of how we handle it!
I am very clear with my son (nearly 4) that dinnertime is dinnertime. When we're done eating, it's for the day. Period. When planning meals, I make sure there are at least two things being served that he'll readily eat. And then, I let him make choices from his plate. After that, I primarily ignore the whining and "I don't like it"s. If it gets too out of hand, I just take my son to his room and tell him "I see you are not ready to eat what I have for you. You are welcome to come back to the table when you are ready to eat the dinner you have." This is not a punishment, because he's welcome to come back whenever he's ready. And we don't force anyone to eat anything on their plate they don't like... we just serve healthy meals, and what's eaten is usually just fine. I trust his palate will develop as he gets older, just as mine and my friends' has! :)
And that's it. No negotiating. No making separate meals. Nothing.
And he's NEVER gone to bed hungry.
That said, we also serve dinner about an hour and a half or so before bedtime. If my son is hungry before then, I often have a plate of healthy snacks (apple slices, carrots, almonds, whole-grain cracker or two, or a piece of spelt bread and butter) to offer him while he's waiting for me to finish cooking.
I think parents get into a trap of offering snacks after dinner. One thing you can do for your girl with the sweet tooth is to offer a 'backward dessert'. That is, serve the dessert *after the afternoon snack*, about an hour or two before dinner. My sister's family also has two days of the week that are regularly 'dessert days', and the dessert is served in the afternoon, so that it's not contingent upon finishing dinner. She also keeps dessert portions small.
A radical thing you can do is just put all the treats and snacky sweets away in a plastic bin in the basement, just so they're out of sight for a while. Makes them 'go away' for a while.
In regard to bedtime: you are the parent. Choose your optimum bedtime and stick with it. Our target is 7 pm, sometimes earlier when Kiddo's tired. But you have to drive the train on getting your child to bed. It's good to set the expectation at dinnertime that "this is what we are having, and this is the last meal of the day, so eat until your tummy feels full". Then, be a rock and stick with it. You will have to repeat this a million times ("No more snacks after dinner. Dinnertime is the time to eat.") It may take some nights of tears and tantrums, but when your daughter sees that you are taking charge and not giving in to her whining (which she's been conditioned to believe is a reasonable expectation on her part), she will likely push back at first (read: tantrums) , but eventually get with the program.
None of this has to be harsh on your part; your family has just gotten into a habit that's become problematic, and it needs to change. If you are taking charge with getting her to understand that dinner is dinner, and being consistent with "bedtime is at X, I know you want to eat, and it's time for bed. We had dinnertime already", thing will change. The most important thing is to make these changes YOUR discipline, even when they are hard on you and other family members. You are doing a good thing in helping your daughter develop healthy eating habits now, while she's young.
Best of luck! These situations can just take it out of us sometimes!
H.
PS- please be careful not to read that I'm starving my son before bedtime, either. As I mentioned, he eats dinner 1-1.5 hours before bedtime. He does not go to bed hungry! Nor does he stay up too late, so that's why I have this opinion on snacking after supper.