Question: I know recipes aren't versioned, but is it possible in an environment to have some recipes use a specific version of their cookbook and some use a different version?

Answer: 
You can only pin cookbooks in environments. There is no way to mix a cookbook with recipes from different cookbook versions.
Nope.

Cookbooks are the unit of versioning, there's no way to pin recipes.

You can copy either the old or the new cookbook to a new name (`cookbook_v1` or `cookbook_ng`) or you can include two different versions of the recipe in the new cookbook (`recipes/stuff_v1.rb` `recipes/stuff_v2.rb`) but you can't do what you're asking.