I think what you're asking to do is simple using Expressions.
If you alt-click on the stop watch of any keyframe-able control you can write an expression to connect that control to another control.
So if you want to control the end of ramp's x position using the start of ramp's x position in your example, it would be:
x = 4480-(effect("Gradient Ramp")("Start of Ramp")[0]);
y = 1080;
[x,y];
The [0] indicates an array - it means "take the x position of the "start of ramp", which has two values, x and y, which can be called as [0] or 2 in the array.
To duplicate this in another layer, duplicate your first layer using cmd+D, then add an Expression to the start of ramp in the duplicated layer:
You can use the pickwhip to select the control you want to enter into the expression