Do joined objects have to have internal faces removed for 3D printing?
In general, yes. You are not allowed to have non-manifold geometry. If you are not already, I recommend using the 3D Print Toolbox addon, which gives you tools to check if your model is compatible to print.

The proper way to combine those spheres would be with the Boolean modifier or booltool. This can create messy topology, but that doesn't matter much for 3D printing.

It is possible that some slicing programs will automatically handle this problem, but I don't know. (A Slicer is the program that actually prepares and sends the job to your printer, such as MakerBots software, Slic3r, or Cura)