I live in Toronto, CA and have been a freelancer for a number of years and have several US-based clients.
2). Wire transfer is the most sensible option for you. Another option you do not mention is an old fashioned check :)
Definitely open a U.S. bank account.
Some international banks such as HSBC, Citi etc. have provisions where you can have multiple accounts in different countries and can transfer money to/from easily and cheaply (or even free ). The catch is that they might expect you to maintain large balances. Not sure if this works for you but just FYI.
I use a currency broker to kill two birds with one stone. http://currencyfair.com lets me accept deposits to local bank accounts in several countries, and then get a pretty decent rate converting the money to, e.g., GBP or PLN.
Thinking about it, I'm pretty amazed that the system works so flawlessly. Their customer service is pretty hot - I discussed whether all of this was possible with them in advance and got the go-ahead. Definitely get in touch with them!