We would like to have time-limited licenses, i.e. each license key would be valid only for certain period of time and time limitation should be per-key.
Is this possible?
Yep. Covered in the custom license fields article under the “Example #2: SaaS or time limited restrictions” section.