If I register a domain name, how can I use that for email? Do I need to have a hosting account now too or can I just somehow set up gmail to work with it?
You need to pay for hosting as well, since email is a hosted service. If you’re going to go with Gmail for that domain, you also need to pay for hosting, as DNS is also a hosted service. Google doesn’t provide DNS services.
Can’t he edit his MX records without a hosting account?
Maximum Cash Discount on any plan with MAXCASH
How To Install PHP.INI / ionCube on DreamHost
You don’t get MX records unless you’ve set up a domain, which requires hosting.