If your odor problem has gotten into fabrics around the boat, like carpet, curtains, squabs etc etc, a fantastic product is available. It is marketed in NZ as "Fabreeze". It kills any odor in fabrics and I often use it on the boat. It makes a lovely fresh smelling boat.
Hoses, yes it is important to use the correct material. As for the use of chlorine, don't wash it away after applying. Spray it lightly around the
bilge and around hoses and anything you can and leave it. Let it do it's job. As it does it's job, it breaks down. Unless you have a continuing leak somewhere, the odor should stop. If it doesn't, then there is a leak somewhere. Remember , the leak may not be liquid. It could be fumes from a breather joint, or tank seal. It could be coming back up a drain or head if the tank isn't breathing correctly. Especially if you heel and the tank contents then block the breather. I have two breathers on my tank. One on each side, so as when the boat is heeled over, the other side of the tank breaths. It has to breath as the pressure continually changes in the tank from movement and temperature change. It puts pressure on hose hose joints and any possible place of exit, such as the head or a sink drain.
Good luck Gunner.