You can combine pseudo-elements! Sorry guys, I figured this one out myself shortly after posting the question. Maybe it's less commonly used because of compatibility issues.
li:last-child:before { content: "and "; }
li:last-child:after { content: "."; }
This works swimmingly. CSS is kind of amazing.