Somewhat pedantic but relevant. A branch is a single commit. There aren't different commits _in_ a branch to checkout.
Regardless, if you are asking whether you can check out commit that doesn't have a branch pointing at it, yes you can.
You can have a work tree for every commit in your repository if you like.