In answer to your first question, the absolute address. Google's information on the subject. In the case of your specific example, use the latter since it will avoid any possible duplicate content issues.
Linking to an anchor point (the second question) won't hurt anything either. It's just an anchor point. It's not a new page or anything.
I dunno about that, Hirst. SEO aside, I use the latter because I have a local copy and a server copy of anything I do. Since my local paths are all of the form http://localhost/subdirectory/ and my server copies are all of the form http://www.domain.com/ , I find that putting using a variable for the absolute path of the home page root works the best (I call it Page_Root...go figure). <a href="/"> wouldn't work on the localhost because I'd end up back at http://localhost/ .
I've had my Martha Stewart moment for the day. And that's a GOOD thing.
I would go with the long urls (starting http) because people keep complaining about beign scraped.
That's another good reason too, to some extent. At least if you get scraped, the lazier scrapers will include your backlinks and inadvertently expose themselves and give you credit.