Disclaimer: I'm a current iphone developer so I'm obviously slightly biased.
(a) quicker/easier:
I've programmed in .NET, and I would say Microsoft's development tools make programming very easy. If you have previous experience in Java or C#, Windows Phone 7 programming should be easier to pick up.
(b) more useful in the future:
debatable but I don't see iOS going away anytime soon. No harm in learning both.
(c) greater chance for earning income:
iPhone, no question. Windows Phone is definitely an unknown quantity at this point. If you want to make money right now, iPhone offers by far the largest market.
Regarding Android, while it's true that it is growing in marketshare compared to iPhone the app store is a bit of a mess. Rampant piracy, poor payment options, and lack of discoverability means that the App Store is still a much more attractive market than Android Market, at least for now.
Of course this could all change in the coming years, it's tough to predict the future. But if I were going to learn mobile programming, I would learn iPhone first, Android second, Windows third.