I'm not quite sure what you're asking. Trials don't activate. Trials aren't hardware-locked. And trials can use custom license fields. Also, trial extensions are very very very weak and are *not* product keys.
If you want to use "verified" trials, then create a custom license field with an optional field like "trial_expires". If that field is present and set then they're using your trials.
This way you can use the activation system instead of the "unverified trial system".
Does that make sense?