Michael,
If all you have is the stable branch in your sources.list, then you won't have access to any of the testing packages, even if you specify testing on the command line with apt-get. apt-get has to know where to find the package you want to download, which is why sources.list exists. If you want to be able to install both testing and stable packages, then you have to have both stable and testing branches listed in your sources.list.
If you want to hold a package to a specific version or branch (stable, testing, experimental), then you can "pin" that package to that version, and all future updates will only use that version. Take a look at
http://jaqque.sbih.org/kplug/apt-pinning.html. However, you still have to have the correct repositories listed in sources.list, and you have to run an apt-get upgrade to update the local cache so the OS knows where to find the packages you want.