POR-15 (Marine Clean) and a few other companies make products for that type of thing. But it's usually used in conjuction with prepping the tank to be seal (Google Gas Tank Sealer).
Others have had great success with using Muriatic Acid (can be brought at Home Depot, Lowes, and even some auto parts stores) mixed with water.
In any case the process is fairly straight forward, once the tank is out and fuel removed you mix in your cleaner or choice and water then pick up the tank and swish the solution around. Some folks have even dropped a length of link chain (not a very thick type) in there while doing the swishing to dislodge any gunk.
Rinse and repeat until you satisfied the tank is clean then neutralize/rinse clean (following what is recommended for the cleaning product you used) the tank and your done.
You'll need a way of forcing some air in there to get it good and dry, a hair dryer works well I've heard.
If all that sounds like too much then pretty much any place that boils out Radiators will do the same for Gas Tanks too.
MorBiD