JeanW, which two fields would you use in a self-join? I'm sorry to be dense, I just couldn't work out how that would help in this situation.
Jimb51, you listed a series of fields (Company/LastPayment, etc..) as your portal. You mean these are the fields you are displaying in the portal, right?
My suggestion, though I hadn't anticipated multiple companies being presented in the portal, was to define a sort order for the payments based on LastPaymentDate, not record-creation date. Is that what you tried? That would put the latest at the top, by the date payment was credited, which seems to be what you are going for.
Just to be clear, I don't mean to use a sort command. I mean, in Define Relationships..., select this relationship, edit, check the checkbox for 'sort related records', specify your LastPaymentDate field, descending. If that fails, then I'm not understanding your question or your data.
As far as pointing to related records, yes, if you have a scripted process that says 'go to portal, go to portal row 5, set/get field value of related field x' then yes, it is working on the 5th related record. Was that your question about pointers?
Back at you!