I'm thinking this may not even be possible, but they have requested it.
I've never had to alter skin color but wouldn't it be possible to use a color picker to see what the difference of RGB values is between untanned and tan skin?
Copy the base layer. Save a multi-pixel untan value from the picker (set as a wide pixel pick). Make a detail selection of the arm or other areas you want to fix, highly feathered at the tan/untan end, and hardly feathered near other edges. Save that as an alpha layer selection - would have to name it and save the alpha. Add an empty layer. Insert the saved alpha selection to the empty layer above.
Fill the alpha selection with the untanned value from the picker, or use a brush with the picked value inside the selection(s). Then fade the upper layer back and forth until it matches using whatever blending method that makes sense. I always try a bunch until I'm satisfied with the blending method.
Look, I'm just guessing here, but I think those would be the basic steps. Again, note that I've never tried this with skin matching, but I have done this to change shadow colors/shades in photos.
Oh I should have added that to test if the above steps will even work for this, skip the detailed selection altogether and just dab a targeted saved skin color value in an empty layer above and play with blend modes and fades. If it does work to an extent, then go to the detailed selections (which takes an abundance of time to get right).
Or maybe a (reverse) variant of this technique?
Thanks David, much appreciated. Here's my go at it:
Oh, much better! How did you do the fix?
Thanks. Basically... duplicate layer, magnetic lasso the two regions defined by the strap and dress, clone stamp from the tan part of the arm, play with layer opacity.
She ended up choosing this one for the yearbook: