How can I store user preferences in WordPress and retreive them later?

You can have two different approaches, Both require some coding.

  1. Using a Plugin

    In your case, there are a lot of good plugins out there but If I’d like to give a name, you’ll have to check Profile Extra Fields by BestWebSoft (I think it doesn’t require a lot of coding) and Advanced Custom Fields (It requires some coding but it worth, you can take a look at this article to read more about how to add user fields in ACF)

  2. Coding from scratch using WordPress’s built-in user functionalities

    There are very good built-in functions like get_user_meta, add_user_meta, etc.

    They’re very easy to use and they’re very well integrated inside the WordPress platform. You can learn more about these functions and some more by looking into the users.php file.