Yes, it's perfectly possible to do it in person WITHOUT a social security number. I did it when I first arrived, though I had to wrangle with the bank a little to find someone who knew that it was possible. All I had to do was fill in a W8 form (http://www.investopedia.com/terms/w/w8form.asp ), and have appropriate other documentation.
I eventually got an SSN (it takes about two weeks, provided you're eligible), but the bank account was opened without it.
If you have HSBC in your home country, they can do this for you.
They have superb proceedures in place and are very good at setting up US accounts, and accounts in other countries if you need them, and can even combine all your accounts into a single and very powerful online banking interface.
It's possible, but it's somewhat complicated.
A foreign passport has to have an US visa in there to be able to enter the states. And that visa is government issued (by an embassy). So that should do, but just in case, bring some extra forms of identification - SSN card (if you have one), home country IDs, credit cards, etc.
If you are opening an account for yourself an SSN is needed (for tax purposes). I don't know how to get one if you don't have permission to work/live in the states. However if you are opening a business account for a US company, you can use your Employer Identification Number (EIN).
However the rules are interpreted somewhat differently between banks so your best bet is to call your chosen bank and ask them. And make sure you speak with somebody that knows what you are talking about - you don't want to fly all that way for nothing.
You do need to be a legal resident in order to open a bank account, but you will need a Social Security Number from the US.
The requirements here may be helpful: