A single photon cannot have mass because it has zero energy in the reference frame where it is at rest (zero net momentum). But a pair of non-parallel photons can have rest-mass, and indeed the mass of the photons inside a star is considerable, for example.
Not if you're talking about what the source of gravity (spacetime curvature) is. Massless particles still have energy and still cause spacetime curvature.
The "source" of gravity is the stress-energy tensor. "Mass" (rest-energy) is a simplification that is useful for approximations and conceptualizations.
A single photon cannot have mass because it has zero energy in the reference frame where it is at rest (zero net momentum). But a pair of non-parallel photons can have rest-mass, and indeed the mass of the photons inside a star is considerable, for example.