I deeply disagree with the idea of learning python or Javascript first in order to prepare yourself for iOS development. If you want to learn Swift, then learn Swift. It's not a difficult language. My first language was Objective-C, which everyone says is a difficult language, but I learned it just fine just like a lot of people. Swift is even easier. It really doesn't matter what language you start out with, just don't waste time.
To answer your questions:
1. Use what you have, or can easily get. If you don't have a mac, you can likely get another hard drive or something and turn your PC into a dual boot hackintosh, it's pretty easy to do these days. If you are going to buy a mac, make sure it either has user replaceable RAM or get 16GB of RAM. But whatever you do, do NOT get stuck with 8GB. 8GB is fine for learning, but for actual commercial development it is very painful. Just don't buy a new machine with 8GB.
2. No, it's not nearly as difficult as you think. It's actually pretty easy. What's difficult is staying focused, doing it week after week. That's the important thing:
stick with it. Set aside an hour every day and focus. Take lots and lots of notes.
3. Android development used to be about as easy as iOS, back when we had Objective-C. But Swift is way easier. So yes, these days, IOS is somewhat easier to learn. But the truth is that if you can learn one programming language, you can learn any of them.
4. It depends how quickly you learn. Spend at least a year learning. Do not bother with iOS development if your main interest is money. Developers who don't care about programming are extremely easy to spot and are never ever as good as developers who love programming.
My main suggestion for learning would be
www.bitfountain.io, their courses are excellent. I learned Objective-C from one of their courses and I have never looked back. Take plenty of notes. For every minute of watching the course video, I spent at least 5 minutes taking very detailed notes. For me, that was the best way to learn. Also, spend a lot of time just playing around with the code you've just learned, try combining things you've learned, try new things, etc.