Is it possible to set an expiration date for user accounts?

I can do that, but with an extra feature: it should allow key-value fields to be added.

The idea is that I can associate information with an invitation link with the information I want. The values can be a simple string or a JSON, and each key is a column in the database. Then, when the user finishes registering, an extra key-value pair is added, which is their username.

My question is, will it pass your filters and be added to the native Discourse source code? And this leads me to an additional question, are invitation links always unique?