You’ll have to have an expression on the layer you want to affect in order to use information from another layer. However, you might be able to make the expression more self contained like:
thisComp.layer(“MyLight”).transform.position.valueAtTime(index);
Where ‘index’ stands for the layer’s position in the timeline (1 is the top and it counts up going down). So your first layer would use the emitter’s position at 1 second, your second layer would use it at 2 seconds, etc.
However, as I think about this I’m realizing that each of your layers will probably have some keyframes driving the actual growth of the leaf, in this case you could determine the emitter’s position at the time that the first keyframe for the leaf’s growth appears (lets say they are scale keyframes):
start = transform.scale.key(1).time; //Get the time at which the first keyframe appears in the scale property
thisComp.layer(“MyLight).transform.position.valueAtTime(start); //Use the time of the first scale keyframe to get our position value
This is ideal as it would automatically use the emitter’s position at the time you wanted the leaf to start growing (if you want the leaf to grow a little farther down the vine then subtract a little time from the ‘start’ value).