I finally figured this out. I found the key here.
After doing a lot of digging, I realized that my {0} predicate index in my XPath was being replaced in the code-behind using a call to String.format.
I obtained the parent repeater index by referencing e.Item.Parent.Parent (where "e" is a RepeaterItemEventArgs object).
Once I had the indexes for both the current repeater and its parent, I was able to use {0} and {1} for my indexes, and the String.format did the rest.
Voila. Problem solved.