Though nothing there addresses your initial question of listing teams and cities, you can read the first site in my signature for how to set up a MySQL db with OOTP data. From there, getting that list can be done with the following query:
Code:
SELECT teams.name AS city
, teams.nickname AS 'team name'
, leagues.abbr AS league
FROM teams INNER JOIN leagues ON teams.league_id = leagues.league_id
ORDER BY teams.name;