What's the simplest way to reduce photon map generation times?
The simplest way is to make sure to set your photon target. This indirectly reduces the generation time by reducing the amount of photons you need for sharper results.
Depending on what you need, you could just use faux caustics instead for previews/early stages and switch to photons later. I've attached a screenshot, see (A).
Do you recommend that I switch from Mantra to Redshift? I hear that it's a lot faster but what will I be losing from Mantra if I do?
The way I see it is you won't be losing anything from Mantra as you'd have both Mantra & Redshift. They both have their strengths and have free demo versions so you can see what suites your workflow.
I figured out how to set the photons to only the glass object, but how do make it so that caustics are only calculated for the objects they're being cast on to?
The caustics are calculated using the photon target and the results are rendered/visible on the floor. So in this case, you can use a Light Mask on the tube/photon target to disable the Caustic light. See attached (B). This speeds up the rendering but not photon generation.