These are in the footer? How many people are going all the way down there and clicking on them? I bet nobody. If nobody is clicking them then why do this?
I would run crazyegg on a few pages to see if anybody is clicking these links.
The footer of every non-blog page includes excerpts from 3 blog posts selected at random from the inventory of 500.
If you really want to get people into these posts your best bet would be to link to relevant rather than random? Don't you think?
Almost any blog that has 500 posts is going to have some really good ones and some real sleepers. I would focus on promoting the really good ones if you want people to click these.
Promote your best. Not random.
So, if you scroll to the bottom of any non-blog page, you'll see about 85 words for each of 3 randomly selected blog posts, with a link to the source article in the blog section of my site. Each page will link to 3 different posts.
Eighty five words for each? Wow... that is a lot... Way more than I would use. How a bout a title and ten words. Nobody is going to read these.
I think that you could run into duplicate content issues with this - even though they are shuffled randomly.
Question 1: In a post-Panda/Penguin world, is this a good or bad technique?
You can see my answers above. I think that the footer is bad location and I think that you should promote your best instead of random.
Question 2: Should the links to the full content in the blog use rel="nofollow"? Without it, the internal link structure for this part of the site looks pretty crazy and random - I assume nofollow would help make things look more orderly (and prevent my main non-blog pages from passing excess link juice to my blog).
I would not use nofollow on links within my own website. When you use nofollow the pagerank that would have flowed into those links evaporates. It is lost. Poof! Instead, allow the pagerank to flow into these pages and out through their links. If you nofollow you cut off the power.