Well, of course you could use linked lists, but I for my part love object orientation and it might make things a lot easier for you. (You could for example have a base object and two inherited objects, one for the player and one for the NPCs).
You might also want to look at TCollection/TCollectionItem which is what I normally use to keep track of enemies/NPCs. A linked list will probably outperform a TCollection, but so far, I never had any speed problems while using collections.