I would say the only real solution would be to set up an Excel document due to the variety of software out there. Some software reports licenses differently than others.
You could be put : The date purchased, when it was installed, what computer it was installed on, and when the warrenty is supposed to run out.
You could possibly even put the information in say something like Outlook's calander -or a similar calender program that can notify you with a custom message 1-2 months before something is supposed to expire.
SCCM and 1E team up to create a really nice application called AppClarity which does exactly what you want. Though, it does piggyback onto SCCM for the asset intelligence piece.
Basically, the term you are looking for is Asset Intelligence. There is a ton of software out there, many are add-ons to programs that discover what is on your network. If you are not actively discovering software on your network using a tool, then an Excel spreadsheet might be what you're stuck with... unless you shell out some money for these applications/servers. For example, AppClarity will automagically track your warranties and terms of service for you. If you bought two licenses at two different times, it will tell you End of Life along with the restrictions to the software.
Depending on your environment you have some really nice solutions out there. Depending on your budget though, you may not. My company dropped $130k buying the software, support, and some other software. Based on our environment it will have paid for itself within 18 months.