This sounds like a generic problem which might have a generic solution. If the Loop component push()ed the current element onto the environment, EventLinks could peek() for the value when rendering an ajax link. When an ajax even fires, tapestry could populate the current loop value in the component stack so that hopefully any methods referencing the loop value work as expected.
It sounds plausible to me but I have no idea if it would work.