Is the 3G data rate slower when reception is poorer?
Short Version: Yes but it largely depends.

Why?: 3G networks travel through air and are subject to interference (as any microwave, radio wave, etcetera). Just like a Wi-Fi network, the principle is the same (only 3G requires a stronger signal from the iPhone, hence why 3G drains more battery, the distances in 3G are measured in miles/Km), as opposed to the limited range of a 11n network). When you are far, the distance for the wave to travel is more and therefore is subject to signal degradation, interference, etc. 

All these nuisances in the signal travel, cause more packages that need to be resent, which increases the response time and the amount of information that must be transferred.

Say you request an image, the server gets the request and starts sending data. The signal is low, so the reception is bad, your iPhone keeps saying: what? say again… I didn’t hear the last part…

To put a real life example: If you’re talking 5 feet away from a person, you can understand hear him ok, provided the ambient noise is low. Now add some noise… you need to talk louder and sometimes you need to request for the other person to repeat because you didn’t hear. 
Now put that person 50feet away…

You’re starting to get an idea. 

Now we have to add another real factor:

3G towers could be a few miles away from you, and there could be a few, so the phone must try to find the strongest one, this process is also time consuming and it causes so many packages to be dropped. When something is dropped, it must be resent… 

All in all, it really depends. You might have a low signal, but a decent throughput, but think that the weakness in the signal is making it harder for your phone to communicate.

Think that wireless connections, need to be as stable as possible to work, and in order to do that, they reduce the speed on purpose. I.e.: send less, but stronger. 

Now I don’t have graphs or numbers (nor the real knowledge to be honest) to explain you how the whole 3G works and what is really involved, but having worked with a driver for a wifi modem, I know about the compromise of the stack to “slow down” when the strength of the signal is bad. You have a limited bandwidth and a limited strength, you have to balance. Wireless prefers strength over speed (which I understand) ;)