ユーザーアカウントに有効期限を設定することは可能ですか?

カスタムフィールドとスケジュールされたジョブを利用するというアイデアは理にかなっていると思います。

また、ワークフローも現在この目的で使用できます。

カスタムプラグインは不要です。