Step 1: get the coordinates in the csv to points. You'll first need to determine, if possible, the coordinate system used. You say lat/lon, so right away it should be a Geographic Coordinate System. Frequently it will be GCS WGS84, but there are other datums out there and it's best to be sure. Once you have that info you can use Add Delimited Text Layer and be sure the points will be in the right place.
Step 2: determine the coordinate system and datum of the polygon shapefiles and add them to the project. If it is the same as the points, great. If not, you'll probably want to reproject the points to the polygon CRS (right-click layer and save as, specifying new CRS). Also note your project has a CRS and the ability to use on-the-fly projection. More info in the QGIS Documentation.
Step 3: With both points and polygons in the project and properly aligned you have several options to transfer the codes from the polygons to the points:
- Intersect
- Join Attributes by Location (aka Spatial Join/Query)
- Point Sampling tool
Depending on the method you choose, the result may either be a new point file with the desired attributes, or a temporary layer/join that must be saved/exported to a file.