Is it possible to buy the Balkan Pass out of the Balkan countries? (2nd class)
No, at least as far as we know. Outside of participating countries only 1st class Balkan pass is sold by Rail Europe and it's obviously rather useless thing
I think there is a Wasteels office at the Budapest Keleti station. Can they sell it there?
Really doubt that they can, since they have nothing to do with agreement between Balkan countries railway companies
There is usually not enough time in Subotica to get out of the train and buy it there so I'd have to buy the ticket all the way to Belgrade (whereas I could use the Pass already on Subotica-Belgrade)
Well, you are not the first one to have this problem
Had similar problem few years ago and the solution found was simply to enter Serbia from Szeged, thus either by train (via Röszke) or by multiple direct buses Szeged-Subotica, that way it's possible to be in Subotica earlier and have time before "Avala" or seasonal overnighter Subotica-Bar. If not via Szeged, then same idea can be realized with train Budapest-Kelebia and then on foot border crossing (Tompa), while local buses (to Subotica) from the Serbian side depart almost from the border check point, so at least on the Serbian side there will be no need to walk far