A good question.
We face the same problem.
Maybe it would be helpful to generate an inventory id for each license and add it to the name...
I am still searching for feasible solution.
There are probably 100 ways to do this, but I would look to add a licence key list to a single CI (called say "Nero Burning Rom" or something) as an attachment and also have a decimal field that you can indicate the number of available licences.
With some clever calculations you should be able to automatically have this value re-calculated as licences are used or recovered, and you could simply maintain the attached document (by saving then re-attaching) to record which user has which licence etc.
IMHO Jack the best way would be to add the license information to the table that links user to CI. That way you keep the CI clear of license information and also the user. However the last time I remember trying this, the table that holds that link is locked and cannot be offically modified. This restriction might have be relaxed in later versions, I haven't tried in a while.
For anyone in LANDesk dev listening :-), this is something you can do in HelpDesk Classic [hint]
that seems to be a interesting way to handle licenses.
Maybe I have to take a deeper look into calculations to create some good working calculations.
...but of course using the attribute wizard in Window Manager does let you access some of these locked tables too. I've used, carefully, in the past to add image attributes for process etc.