The limits on the streaming API relate to the number of filter / track terms permitted on a connection, as well as an overall 1% cap on the firehose volume. You’re allowed up to 25 location bounding boxes in a query, so your nine cities should be covered; additionally, since the number of Tweets that carry location data is relatively small (~2%overall) I’d imagine you shouldn’t hit a limit.
“extended access” as such is commercial via Gnip; I’m not sure what other options to suggest, unfortunately.