For No. 2 - If you knew the courses you wanted them to blog about you could just use the course id in your hyperlink i.e. xxx.com/blog/edit.php?action=add&courseid=3. I'm not aware of a way to allow users to select which course to blog about, unless you presented them with fixed options each taking them to writing a blog on specific courses.
For No 3 You could create a URL activity on Site Home, then apply settings:
External URL: xxx.com/blog/index.php
Type "userid" into the box and choose "id" from the drop-down under User.
(This will add the following to the URL you have added: xxx.com/blog/index.php?userid=x)
Common module settings
Availability: Hidden from students
To make the URL hidden but still available, you'll need to enable Stealth activities in Site Admin>Advanced features.
Then you can click the gear icon next to the URL activity on Site Home and choose "make available".
You can then copy the link to the URL activity and use that in a HTML block on your Dashboard.