The eating habits.... totally normal! All my kids went through that phase at that age. In fact, my youngest turns 2 next month and started doing that a few weeks ago. It'll pass soon enough. You sound like you're doing the right thing... just offer healthy food for meals and snacks. A child won't starve himself if he's offered a wide variety of healthy foods. It's your responsibility to prepare the food, his responsibility to actually put it in his mouth and eat it.
There are several factors in play here... 1) toddlers this age HATE to sit still. Just 5 minutes can seem like a lifetime. So they eat enough to stop the hunger rumblings and then they are off and exploring. 2) their small stomachs get filled quickly - they need between-meal snacks for this reason. Even if they ate well at every meal, they'd still need snacks to keep 'em going. Just keep the snacks healthy - like mini-meals. 3) their rate of growth plumments at this time. In the first year they tripled their weight, in the second year they still probably packed on 10 pounds or more. Now he's down to putting on just a few pounds a year - he simply doesn't need as many calories.
Kids are great at self-regulating how much food they need so follow his lead but offer healthy food.
As for the crib... don't fix what isn't broken! Experts say to keep kids in cribs until 3rd birthday. Many of my friends, and ourselves, made the move around 2.5 years old. Our youngest is in the crib and we have no plans to move her anytime soon. Now, if your son hated the crib and had sleep issues then making the switch might make it better. However, since he's fine there, leave him alone. As soon as you move him, you'll more than likely have issues at bedtime and naptime. They usually sort themselves out in a few weeks, or months, but why put yourself and him through that? Just leave him alone for now. My older kids gave up naps completely within months of moving out of the crib and they definately got shorter immediately (2 hours to 1 hour or even just 30 minutes). They'd wake up from their nap and crawl out of bed instead of just going back to sleep.