git stash apply stash@{5}
But that number changes as you add more stashes to the list.
2) Instead you could perform some jiggery-pokery in bash to look up the stash by name:
git stash apply $(git stash list | grep "$NAME" | cut -d: -f1)
You can apply multiple stashes as long as they don't overlap.
3) Or you could save the commit and refer to it by tag:
git commit -m'The usual changes to aid debugging'
git tag foo
git reset --hard HEAD^
git cherry-pick -n foo
(-n is --no-commit)
This way if they overlap you can use git's merging/conflict mechanism.