I'm not an expert, but I have done some encryption work.
In order for emails to be encrypted, the usual way is to use what is called public key cryptography. For the sake of your questions, what you need to understand is that everyone who wants to send or receive encrypted emails needs to obtain a public key and a private key.
To send an encrypted email to someone, your email program will encrypt it with their public key. They will decrypt it and read it using their private key. If they reply to you, their reply will encrypt it with your public key, and you will decrypt and read it with your private key.
From the above I conclude:
If you send an email to someone with a gmail or yahoo address, one of two things will happen: Either your message will be sent entirely unencrypted and the recipient can read it (more likely), or your message will be sent encrypted and the recipient will have no way to read it (less likely but still possible). The latter case is conceivable in encryption services like PGP that use multiple layers of encryption. I would guess that the way this will work would depend on which encrypted email program and service you choose.
As for your second question, I think you should understand that successful encryption generally relies on both the sender and the recipient agreeing on and using a common system. This is because decrypting a message to read it is essentially the inverse operation of encryption, so the two processes need to be symmetric. Think of tying and untying a knot - if you tie a knot one way and then try to untie it a different way it won't work. So you'll only be able to communicate in an encrypted way with people who are also using the same system. I believe PGP (pretty good privacy) has a standards-based framework so in principal you could use a PGP-based email service with an Android app on your phone and send it to someone using a different PGP-based email service on, say, a Windows desktop.
Also, as a general note, you're a lot safer using something like a PGP-based system, but whether or not you're completely safe depends on the implementation being correct, and using correct settings in the program (defaults are probably fine), and depending on how paranoid you are, whether someone at the NSA really wants to read what you wrote. But if you're just an ordinary citizen who wants to maintain your privacy and you're not a foreign spy, then it should be much safer than unencrypted email. This safety is a trade-off with the inconvenience of switching and trying to get your intended communication partners to switch.