1) The word "desperate" describes something about people. But if I were a rich person living in Paris and I described some of my friends as "desperate", it would not mean the same thing as a poor person in North Korea who describes his friends by using the same word. So "desperate" depends on the context. There is such a thing as New York desperate, and there is such a thing as North Korea desperate. New York is typically describe as a hard town to live and succeed in. People move there with big dreams of becoming rich or famous, but they end up working at 2 or 3 different jobs and sharing an apartment with other people just like them (young and struggling to get ahead). So life can be really tough in New York and people can become desperate. Not the kind of desperate you would be if you lived in a small farming town, but "New York Desperate", which is the kind of feeling you would only have in the big city like New York.
1a) You can do a similar thing with all kind of names. For example, he's "LA handsome", which means he is someone who would be described as handsome in a glamorous town like Los Angeles (where everyone is handsome, apparently).
2) People will naturally "associate" certain attributes to people depending on what they look like or where they find them. It happens everywhere. I have ridden the subway in Tokyo and I know that the local people saw me as a foreigner and "associated" me with certain stereotypes. Likewise, I have ridden in the New York subway and I've seen people acting in a very psychotic manner and I "associate" them with certain stereotypes. In your sentence "She was aware of the associations people have about someone who speaks out on the subway", means she knows the things that people are assuming about a person when they "speak out" on a subway (when everyone else is probably being quiet and keeping to themselves).