It's true that the same ID may appear on multiple lines in a GFF3 file, but I think it's a bit misleading to say that IDs are not unique. IDs are unique, and when the same ID appears on multiple lines it is because the corresponding feature is a multi-feature. With the CDS example, if the coding sequence is split across 4 exons, there will be 4 CDS entries in the GFF3 file. But those 4 lines are not separate features, they collectively represent a single feature, and so they have the same (unique) ID. Juke-34 and I are essentially saying the same thing, but how you say it is important I think.
As far as what the actual IDs should be, it really doesn't matter. Something simple like numbering the tRNAs (as suggested by Juke-34 is probably your best bet. The only purpose of the ID is to define parent-child relationships, so as long as the value of the ID attribute matches the value of the Parent attribute of the children, it doesn't matter what the ID is. In fact, some programs or scripts will change the ID values, but as long as the parent-child relationships are preserved this is completely valid. If there is any other information you want to preserve (such as a gene name or its predicted function), this should really be stored in a different attribute such as Name or Note.