In field options, on the validation tab, there's an option that will restrict the data entered to only the values of a value list you specify.
If that isn't sufficiently user friendly, you can "roll your own" by using the OnObjectValidate trigger to perform your own script. This script can combine the FilterValues and ValueListItems functions to confirm that the data in the field is a value from your value list.
Thanks! I knew there had to be a straight forward option.
When you have an excessively long list, and people are tempted to type, it sometimes becomes simpler to utilise a portal listing to show the names. It is easy to have a 'data entry' field above it where people can start to type the name and see the list diminish. Then they can click on the portal row to select the name and set it into a field.