The LinkList plug-in works in the following way, which is somewhat like your idea:
First of all, you create a header - this returns a number which is passed to most other linklist routines. Something like :
header=linklist_createheader()
You can then add data to the front, end or middle of the list use AddNode :
node=linklist_addnode(header,"ddd",3,NODE_FIRST)
The parameters are slight wrong, but it gives the general idea...
To go through the list, you can start at either the front, end or middle and work your way through the list, like so :
node=linklist_getfirstnode(header)
while node<>0
node=linklist_getnextnode(node)
endwhile
You've also got the ability to search for data (text only search at the moment), return data from a specific index, send diagnostic data to a file and sort the list (limited in DBPro because of you cant pass the address of a function). The sorting routine uses a Quicksort.
I've got example code at home, which I can e-mail if your interested.