I think there is a EN 476 Metropol /718 that departs at 20:05 and arrive at 06:20 in prague. I cant seems to locate this ticket in the MAV site.
The problem here is that 'Metropol' consists of two different groups of carriages going to Prague from Budapest. First it's Budapest-Berlin carriages, which only transit Prague with arr.time 3.59am (Praha Main station) or 4:37am (Praha-Holesovice). Second group of carriages actually terminate in Prague, thus have route Budapest-Prague and arrival time 6:20am, the later only start with 'Metropol', but further on route get reattached to a different train (that is the reason for a later arrival time). And the thing is that MAV website allows to purchase online tickets only for the Budapest-Berlin carriages (with 4am arrival), while for the ones with 6:20 am arrival you can't do it online
I am wondering if anyone can tell me how much will this cost?
Well, full fare one-way ticket Budapest-Prague is 80,8 euro + sleeper reservation (depends on whether you use Budapest-Berlin carriages or Budapest-Prague ones. Reservations for the later ones are cheaper - 14 euro for 3 bed sleeper, 21 euro for double sleeper and 49 euro for single, with Budapest-Berlin ones it's 26 euro for 3 bed sleeper, 39 euro for double and 91 euro for single)
At the same there is also a limited amount of discounted tickets sold as well, so if you purchase those in advance you have a chance to save quite a lot, since discounted ticket+reservation start from 49 euro (3 bed sleeper), 59 euro (double) etc. Although as almost any discounted promo fare tickets, those are non-refundable and non-exchangeable, so you basically need to be sure that your plans won't change.
Also, i arrive at budapest on July 23 and will that be sufficient time to secure a sleeper seat.
Summer is a bit busy time, but we would say you have an ok chances to get a reservation three days in advance, though maybe not for a double sleeper (which tends to get sold out fastest)
I dont speak Hungarian, only English, where would be the best place to purchase the ticket.
All the cashiers at the international ticket counters usually speak sufficient enough English, so you shouldn't have any problems at any big station (Keleti, Deli or Nyugati), also there are ticket desk in the city centre (on József Attila street near Deak Ferenc ter subway station)
Also if you don't mind some small complications with tickets, then there is a chance to insure purchase of tickets with arrival time 6:20am, and even pay less. Trick is that Slovak railways sell online tickets Bratislava-Prague for the same train, so you can actually visit official Slovak Railways website (zssk.sk) and buy there discounted ticket Bratislava-Prague even now. Then when you already in Budapest just get additional Budapest-Bratislava ticket (17,5 eur) and board 'Metropol', while in Bratislava you will just need to change carriage. Discounted ticket+reservation Bratislava-Prague for a 3 bed compartment cost 30 euro, so in total you'll pay 47,5 euro for the Budapest-Bratislava-Prague journey with arrival 6:20 am