Hi,
The goal of the guest checkout is that users don't get their information stored along with a user account and the trade off is that they would have to enter their information each time.
So normally that is not possible.
Now here is a trick you can try (I can't guarantee the result but I think it could work) if you're using the same database with the hikashop_user and hikashop_address table filled with the data from the last year :
Set the registration option of the Hikashop configuration to "simplified registration" and turn off the "Ask address during checkout" option there.
That way, the users will still have the same fields to fill in.
However, it will be in two steps: first their email and second their address.
After the first step, if they used an email address they had previously used for a guest checkout, the system should normally assign their address to their new user account, and they should already see their previously entered address on the second step.
Users who didn't previously checkout with the email address they're using will have to enter their address with the form on the second step.
Now that also means that next year, they'll have to enter both their email address and their password (which was automatically generated for them and sent to them by email).
That's they only solution I can see without some heavy code customization.