I'm not familiar with your real estate contracts in New York, but in general, most contracts to buy real estate include clauses that allow you to cancel the agreement if certain things happen - and sometimes if they don't. For example, in a short sale the most frustrating, common, and unpredictable thing is when and whether the bank will ever accept the offer and agree to close. From what you've said it sounds like the seller accepted the offer, but you're waiting for the bank to finish their stuff. Delays caused by the bank might be a reason to cancel the contract in your situation. In addition, you might have inspection issues, lending issues, and possibly other items to consider.
You definitely need to discuss this directly with your Realtor and/or attorney. Either or both should be able to help you find out how you can exit the first contract gracefully without losing your earnest money. It is most likely possible - but by no means guaranteed.
As for the last part of your questions, short sales take as long as they take - unfortunately. There simply isn't a 'rule' you can use about that. It just depends on the situation, and to a huge extent, the bank invovled. Some are easy and quick to work with ... others take up to six month or even more.
So - back to my earlier comment - talk to your local Realtor and/or attorney. This situation really requires very specific knowledge of your individual contract and situation to provide the most accurate answer.
Best of luck!