What you are describing is what is called a domain. Domains exist isin geodatabases but not shapefiles.
You basically create a field (numeric or text) which stores the value but each value has a description. So for example you have a numeric field of type SHORT called "quality". The domain would be 1 = good, 2 = OK, 3 = bad. You assign that domain to that field. So when the user edits the attribute table and clicks in the cell they will be offered up a choice of good, OK or bad,. What gets written into the table behind the scenes is either 1,2 2, or 3.
Search the help file for Domains