Have you tried
f:setPropertyActionListenerto set the id????
If using RichFaces, look into a4j:actionParam. This should do what you need.
Or, use f:param, but this won't be an ajax command.
I assume your a:commandLink is an a4j:commandLink?
Thanks for the tip on actionParam, it does work as a means of passing the parameter. However thinking about this further, my problem is that JSF is failing to map the model on each request so the a4j:commandLink fails silently. I'll create a new post for this.