Sorry for the short reply I was on my phone.
To try and answer your questions
1) Yes Java is the best for most things. Some apps can use C or C++ for performance (see the Android NDK) but need Java to handle the UI/App.
However there are some cross platform game engines and toolkits like Unity3D
(Games, not sure what language), PhoneGap
(HTML5) and Adobe AIR
. All of these are pretty good but usually have some drawbacks.
2) I think I have heard of someone making a python SDK but I dont remember for sure. I personally wouldnt try to shoehorn it unless you really felt it was the best solution for your needs.
3) Yes, but just like Android, iOS has the same options for using a 3rd party cross-platform engine or SDK such as PhoneGap.
4) I think Unity and Corona are among the most popular game engines at the moment. Unreal I think is releasing one, or just released. I'm not sure.
How much someone charge can vary greatly. The are many factors too.
Here are a few things to consider:
- Location (devs from the US might charge more than someone from another country for example)
- Skill level (junior dev vs Sr dev)
- Project complexity (ie something the dev has a template for vs engineering a complex custom app)
- Quality Assurance/Testing (ie a meticulous dev vs a "get it done" dev)
However there are no right or wrong answers. What you choose to value is what will define you and your idea and your business. If your audience values quality, it might make sense to get the best. If you are rushed or short on cash, then other options might make more sense.
Anyways I hope that helps
And welcome to AF!