There's no question that MODX can do that, but I don't know of any way either of those could be done without some custom coding.
For #1, I would use the Register snippet (part of the Login package). I'd send them an email with a link to the Register page and $_GET parameters in the URL that included their email and a hash of their email address. Then I'd put a custom snippet on the Register page, above the Register snippet, that checked the hash against the email and forwarded them to the Home page (or some other page) if they don't match.
For #2, I think I'd use NewsPublisher. You could forward them to the NewsPublisher page with a postHook in the Login snippet tag. Make sure you name their personal page with some value from their user profile (first part of their email, username, etc.) so you can calculate where to send them. For more security, you could use a hash of that value instead of the value itself.
You can enforce letting them only edit their own pages with this method:
http://bobsguides.com/blog.html/2013/04/28/newspublisherrestricting-users-to-their-own-pages/.
Letting them allow selected users to see their pages, would be tricky. That would take another custom snippet or two.
TBH, I think you'll have to either learn PHP, or hire someone who knows it. There's a nice PHP primer in the Appendix of my book:
http://amzn.to/Qfsl1Z.
Welcome to MODX.