Where can I find (on the site of a US government agency, I assume) raw data for the sizes of cities that I can programmatically process? Data indexed by FIPS place codes (i.e. those found here) would be optimal.
You can download the Census Bureau's 2010 TIGER/Line shapefiles of "Places" (at the state level) through their web interface. All of the features have a FIPS value. I believe these shapefiles include an area field but, if not (or if the area is given in units other than what you're looking for), you can easily create a new field and have the areas calculated automatically.
If all you're looking for is a table of data, download the shapefiles and simply use the .dbf file.
You could try http://www.geonames.org/ - they have a map viewer so that you can look at the data before downloading, and a variety of ways to get the data, including an API and data dumps.