Problem with shadow catcher and a question about alpha blending
1) It is possible with the compositor. You need to pull a pass with the shadow catcher object only, modify its alpha and composite it. However, compositing back the foreground object with the shadow catcher pass might be tricky, specially in the edges where the solid object meets the shadow.
A useful tip in this case is to work with both alphas (solid foreground's and catcher's) and make sure they are combined properly rather than working with RGBA. Check whether those alphas are correlated or uncorrelated, depending on your setup.

2) As cegaton pointed out and you realized already, the reason for the difference is blending images in a linear space (blender) vs. blending images in a non-linear space (photoshop and others).
Blender works with linear images all the way. What you get from the compositor is linear, even though the display transform makes the final composite non-linear and also saving as byte-images (like PNG, JPG, etc. does ,as 8-bit images need to be gamma-corrected to avoid artifacts.
So, even when images are converted to non-linear in the end, all the blending operations inside the compositor are performed on linear data with associated alpha (also called pre-multiplied).
Photoshop does it completely different, for a number of reasons, being legacy the main one: Back in the day when it was only possible to edit 8-bit images, it made sense to work with gamma-corrected sources with unassociated alpha (like PNGs).
Things have changed since, but Photoshop kept the non-linear editing and a lot of graphics applications followed its lead doing the same.
It's good to keep in mind that linear blending works closer to reality than non-linear blending, so take Blender's result as the right one (which means that you should try making Photoshop look like Blender, not the other way around).

3) Yes it is!
You need to turn your linear associated images to non-linear unassociated ones.
With the alpha convert node, you have to make the buffers unassociated (premul to straight), then with a gamma correct node "bend" the linear image to 0.4545 (1/2.2).
The result will be merged with an alpha-over node (make sure you mark the convert premul checkbox, as the input is unassociated), and right after that node a gamma node set to 2.2 will take the result back to linear (which is necessary as Blender colour management expects linear to apply the display transform and the output gamma-correction.

Check the following image, it comes with a bonus: Did you see the ugly dark fringe around the foreground? That's one of the nasty effects of alpha blending non-linear images ;-)