Entering fulfilled Premiums manually
If you want to track fulfilled premiums by type, fulfillment date and next eligible date without tracking inventory and expense within Civi, you can do so through the use of custom data fields designated for use with contacts and a profile that can be displayed as an additional tab of a contact record. To facilitate reporting, I would suggest using a select input field type for premiums and a date input field type for the date fields. 

If you want to track fulfilled premiums awarded with a $0 contribution, the only way I can think of doing this is to create premiums for internal use only with a $0 minimum donation amount that can then be added to a contribution page for internal use only, use the built-in fee section in the amounts tab and include a $0 option, then masquerade as the user to whom the premium is being awarded and then create a $0 contribution with the selected premium. 

You might also want to play around with subscription/service premium to see if that would help with managing eligibility for the next premium, include a custom data field for next eligible date, or perhaps make use of a specific membership type to do so. 

Hope this helps!
Tamar