I take public transportation to my work and the climbing gym. This means my climbing gear stays in my office all day with me. My climbing shoes stink and are really offensive to have in my office. When at home I tend to store them in the garage. What is the best way to contain the stench so that my office does not smell like rotting feet? The solution needs to be suitable for being carried on public transportation.
Seal them away (in transit and at work - store them somewhere dry and well ventilated at home).
You could use a dry bag sold for kayaking etc. Small ones are cheap on ebay but I've linked to something slightly better.
There are storage bags that seal and allow you to suck out the air with a vacuum cleaner. These might actually reduce the stink rather than just containing it.
A ziplock bag might even work.
In all of these, but especially the first and third, you should ensure they're dry before putting them in, or only put them in for as short a period as possible (not all day in an office). Damp shoes will allow the bacteria that make them stink to breed faster (and encourage mould). You can add some silica gel sachets, especially for the way home, but these have a finite ability to absorb moisture; you can regenerate them with heat. Special shoe-drying, microwaveable silica gel packs are available.
The root cause of the problem is the moisture. If you can get them to dry somewhat then the smell will be much easier to manage. The short term solution is to use some sort of desiccant right after you're finished with them. I've used some of my wife's knee high hosiery filled with kitty litter. The point is to use some fine threaded "bag" to contain the desiccant, so you can use whatever you have available to contain the absorbent material. If you can get it, then silica sand, chalk, talc or even salt would work... but ensure that whatever you use won't actually damage the shoes. The best thing is that many of those products come in a scented variant that will be additionally useful.
If you couple this with an air tight bag, then your shoes won't emit any odors in the office (or gain mold) and then you can air them out when you get home.
I've used Boot Bananas sourced from my local bouldering gym after complaints by my better half about stenchy climbing shoes. Since using them the complaints have completely dried up. They are still working 4 months later, I'll probably replace them after a year. $25 AUD per year seems like a reasonable price to pay to keep those around you happy. There are other options out there as well.
I've also seen similar, refillable options. Check out your local climbing gym or climbing gear shop.
These are basically just commercial variations of Bills answer.
I've also used a commercial foot odour neutralising powder. Don't go down this path. The powder crusts up in the bottom of your shoes after a particularly sweaty session. While the odour is eliminated, you end up with uncomfortable, crusty climbing shoes.
Use an odor neutralizer.
As the smell will be coming from the inside of the shoe, Spray them with an odor neutraliser or a specialist shoe odor neutralizer, then pack them paper or cloth impregnated with the same stuff.
This may take a while to work on its own, but can be used in conjunction with the suggestion to sealing them. Sealing them will make the problem worse though, as the smell is caused by bacteria, and sealing them locks in the moisture the bacteria need. The paper (throw away after use) or cloth (wash regularly) will absorb the moisture that is causing the problem. When at home, remove the cloth or paper after a few hours and if possible leave where the is plenty of air flow to dry them out. If yo do this, after a week or two you may find you no longer need to seal them up.
I have this same problem with Vibrams and have found Lysol to be somewhat effective in mitigating the bacterial growth and ensuing smell. I use a quick spray a few times a week.
If the smell gets noticeably stronger, I throw the shoes into the washing machine with a cup of vinegar. My understanding is that the vinegar kills the odor-causing bacteria. Afterwards, I wash them with regular detergent to get rid of the vinegar smell.
Put fabric softeners inside the shoe to keep the scent down or at least smell better and use Fabreze. Those two options have done wonders for me. Also, take your shoes of in between climbs to help prevent further stink accumulation.
I hang my shoes on the outside of my bag. I've found that containing them in a airtight bag and then drying them "later" leads to them being sealed in an anaerobic environment, especially if they are warm, leads to more of those bacteria breeding. They go into their dormant phase after they dry. Getting airflow through them is crucial.
When I get home (if I make it home), I usually hang them up and spray a 1:20 bleach solution in them. It's enough to kill the shit inside of it and slowly degrades the leather at a rate greater than the degradation of the rubber from climbing.
Once you've neutralized the bacteria from revitalizing themselves every time you climb, they start to stink significantly less. It's important to start whatever habit with your shoes as soon as you get them so they don't petri-dish out while they still have a good edge.