Hi,
It's possible but a bit cumbersome.
You need to create a user group configured the same way as the "registered" user group.
Then, you need to create a mass action on the "order" data with a trigger "after an order is confirmed" and an action "change the user group" with the mode "replace" and the new user group you created.
That way, when users from the "registered" user group purchase something, they will be moved to the new user group instead of the "registered" user group.
Then, in your coupon, you can use the "access level" setting to restrict it to the "registered" user group.
Now this also means that guest users won't be able to use the coupon even if they can place an order as a guest, without creating a user account.
However, a simpler solution would be to just set the "quota per user" to 1 in the coupon. That way, a user will only be able to use the coupon once and this will also apply to guest checkouts (based on the email address entered). But that means that users with already an order on your website will be able to use that coupon once.