Regarding train fares: Budapest - Vienna, cheapest fare is €13, if bought at least 3 days in advance. This includes reservation - there are several trains a day. Unfortunately, this cannot be booked online, only at MAV ticket offices or rail-appointed travel agents in Hungary.
I believe you can book the same journey for €19 on the Austrian Railways (OeBB) website.