As far as I know, you cannot assign rights to individual columns in a table using Access security. (Go to Tools, Security, user/groups security, and you will only find tables, forms, reports, etc, listed, but nothing for individual columns in tables.)
You mention controlling users' access to columns in the database window and the query builder. Actually, you should not make either of these available to users. EVERYTHING should be controlled through your application.
A properly written application will always control what the user can do, so the database window and the query builder are off limits because the user actions are not controlled adequately, particularly in the situation you mention.
I've actually written a generic query builder that I use in many applications I write. It's a little tricky to write, but worth the effort because you continue to maintain control over what the users can and cannot do but it still allows users to build custom queries.
For additional security you could define all important tables as hidden (table properties) so that if users manage to bypass the startup that hides the database window those tables will still not be listed.
If you must have the database window/query builder available to users, the only way to secure that column is to define a separate table with that column and a second column that contains the primary key column of the main table. Access to the second table could then be controlled through Access security. (But other things could get more complicated.)