It's really normal for kids to go through the picky eater stage. Much more normal than not. Here's what we do:
I cook a few things for meal time. A main course, salad (toppings on the side), and a veggie or rice or couscous or something. That gives options. I rarely do desserts. I do not base my meal cooking off of my child's picky eating. If all the kids hate it, I'm definitely not going to make it, but if others like it, except for one, we make it.
When it comes to eating the food, almost all of them will eat rice, so if they don't like the meal, they have rice to eat. They sometimes like the salad, but often they like the toppings more (like tomatoes and olives), so I'll let them eat those.
If they refuse to eat the main meal, I require only one bite so that I know they've tasted it. I've had my kids refuse to even taste it, but upon insisting on ONE bite, they then realize they like it and eat the whole thing. So, that's why I insist on one bite.
If they won't eat the main meal - FINE. No arguing. No power struggle. They don't have to eat it. They can eat any of the other food that they want that is on the table.
But I also don't get them anything else special. Either they eat the food there (whatever they want to pick through) or they don't eat. And I don't do it in a mean way. I don't get mad at them. They can't help it if they don't like the food. I toss their food if they don't eat it. I don't make them eat it later. I wouldn't want to be forced to eat something I don't like, and no way am I going to force them. It's also not worth my stress to try to force it. It only causes more and more power struggles - so not worth it!
Even if they eat nothing, I will not give them any other food, other than the options at the table (and only offer this during dinner time), until bedtime. About 30 minutes before bed, I offer a snack. This snack is part of their nighttime routine. They are offered it whether they eat dinner or not. I keep it pretty basic. It's almost always a banana or a peanut butter/jelly sandwich. I don't give options beyond that (our kids like these snacks, so I suggest picking two things you know your son likes and offering it as a snack before bed).
I refuse to starve my kids before bed. I want to make sure their belly is comfortable before they climb into bed all night. But I also am not going to be their servant and fix whatever their whim is. Besides not thinking it's healthy to do that, I simply don't have the time with four kids to do that with each! That is why I offer two choices that I know they can and will eat. If they refuse both of them because they want something else (even though I know they typically like this food), then they can choose to go to bed without eating. I know I've offered something they are capable of eating and liking, so I don't feel guilty if they make the choice to not eat it. I won't offer something I know they don't like. But it's the same two things every night. They know at snack time that they have these two options.
I agree with most of what you are saying about your feelings about food. The only thing is, if you do try the snacks at night, you know it's a power struggle if he's refusing something you know that he likes and is demanding something you are not offering. I would suggest NOT giving in to him. That is enabling that type of behavior. Don't be mean or get upset. Just be factual and tell him that "These are your two options. You need to choose one now because you're going to bed in a few minutes. If you don't want to eat, then that's fine. But these are your two choices" Then he can deal with the consequences of not choosing one of those, if that is what he chooses. It's an important thing to learn - consequences to choices. As a parent it can be easy to give in and just give him whatever he's asking for, but it's a good lesson to learn that sometimes our options are limited. (then again, when i only had one, i think i didn't offer choices for her nighttime snack, I jsut said "what snack would you like?" and let her choose whatever. With having four little ones, I cannot and will not make several different snacks. They all like bananas and pb&j -or sunbutter - sandwiches, so I limit it!).
Hope that helps!