My 3.8 year old DS2 is a nightmare too.
I have vague times for meals and "windows" for snacks.
He's an early riser but if he comes back wanting more to eat before the school run, or before nine on no-school days I refer him back to breakfast. After nine he can have a snack
If he doesn't finish his morning snack, I'll ask him again at about 10.15 if he's hungry, remind him that there's nothing more before lunch and then bin it (or hide it if resuable) by 10.30. We sometimes make it through without a snack, and he has lunch a little bit earlier.
Lunch at 12-ish. Left out for a bit if he doesn't eat much. He does now say "I'll have more later" so I don't chuck straight away.
Can't have a snack before two, unless he ate a mammoth lunch, and is clearly on a mammoth eating day. He can have his afternoon snack any time before we leave for school run at three. I try not to let him have anything to eat after that but sometimes I am subverted by evil forces .
Tea is at five-ish most days. If you don't eat enough tea (as decided by me) you can't have a pre-bed snack. This is a toughie for me as if either of them go to bed hungry they wake up as early as four thirty which is not good.
In general it isn't an unhealthy thing for them to have five or six small meals, as long as these are small healthy meals. For me this is where the problem comes, as he wants too many biscuits and cakes at least for morning/afternoon snack. I try to offer a chewy bar/yoghurt for these, and that's going well atm.
It's obviously a pain for me to keep doing food, though. I say time and again that you don't need to eat what I put in front of you but you can't expect anything else, nor are you to help yourself to anything else. It's a work in progress. Sigh.
I never really had these problems with DS1 who can easily go without snacks, only asks when he needs them, and generally has had toast for most of his home snacks in the first place.