The key question isn't so much about the form; it's about the database that the form is based on. If you create the database through OpenOffice.org you will be forced to create a key, so that's not a problem.
To modify a form, just open the database that it's based on, then click the Forms icon at the left side, and when you see the form name, right-click on it and choose Edit.
The form will open. Right-click on any component and choose Control or Form to modify it. You can also use the Form Controls toolbar.
Choose View > Toolbars > Form Controls, when you have the form open, if you don't see the toolbar.
To make the list you're talking about, I'm not enough of a database expert to do the table relations planning. However, you could set up a view between the two tables, the main and the secondary. See my article on views.
Then, modify the form and choose to replace the City field with a list box.
Right-click on the control and in the Data tab, specify the field to bring in the data from.
You could also just create a field with those cities in them. Create a list field using the Form Controls toolbar, and don't connect it to a table. Just right-click on it and choose Control. Then, in the window that appears, look for the List Entries field and just type your entries. See my article on modifying forms; there's a lot of detail in there about creating a hardcoded list field.
Dig Deeper on Linux servers
Related Q&A from Solveig Haugland
Our expert tells you how to use search to find strings in OpenOffice.org's Calc. Continue Reading
An office suite expert describes where to find information on OpenOffice 2.0's use in the enterprise worldwide. Continue Reading
An office suite expert recommends breaking spreadsheets into smaller pieces for sharing between users. Continue Reading