Got myself a Balkan pass last winter from Istanbul and it's way cheaper than the price i saw on the website.
Yes, usually buying such regional passes like Balkan pass is much cheaper on spot (in one of the countries it is valid in), but unfortunately in case of Global passes (which is not regional, but valid throughout almost all Europe, exactly what you need) there is so-called citizenship difference - if you come from one of the European countries, then you eligible for purchase of InterRail global pass (can be bought almost at any station in countries where it is valid). InterRail pass is much cheaper, than global pass for non-European residents, which called Eurail global pass (purchasable online for non-European citizens).
If you will show up at any European station and ask for global pass, the cashier will ask for your passport (needed in order to fill in name and citizenship details), thus will find out that you aren't European resident.
Now about your itinerary: We will just list the best point-to-point option in terms of price, so you can add all those and compare it to your Eurail pass fare.
Rome-Pisa: cheapest option is to use regional train, it is a bit slower than InterCity or EuroStar, but much cheaper - only 18.05 EUR and you can purchase you ticket any time, even 5 minutes before departure.
Pisa-Florence: ticket for regional train is only 5.8 EUR
Florence-Milan: you can purchase discounted 'MINI' offer ticket for InterCity train for as low as 15 EUR (
www.trenitalia.com) or again use regional trains with change in Bologna, ticket will cost a bit less than 20 EUR
Milan-Venice: again regional train is the cheapest option, 14.65 EUR
Venice-Budapest: full fare ticket on this connection cost 55 EUR, but you can get discounted ticket (offer "SMART") for as low as 29 EUR, but purchase in advance required.
Budapest-Vienna: discounted ticket as low as 13 EUR, need to purchase in advance, either from ticket desk or online (
www.mav-start.hu , unfortunately interface is only in Hungarian as of now, but with google translate it is manageable)
Vienna-Prague: discounted ticket for as low as 29 EUR (
https://ticket.oebb.at/bin/frame_ticket.pl?ticket=jticket.pl&LANG=EN)
Prague-Munich: again, discounted ticket purchased in advance is the best option. 29 EUR (
www.cd.cz/eshop/international/info.aspx)
Munich-Paris: same story, purchased in advance tickets can get you fare as low as 43 EUR (
http://reiseauskunft.bahn.de/bin/query.exe/en?newrequest=yes&protocol=http:&)
Paris-Bern: here rail connection isn't cheap, even discounted tickets purchased long in advance cost from 50 EUR (
www.tgv-europe.com)
Bern-Geneva: if SuperSaver tickets will be available for your date, then go with it. If not, then standard fare ticket is your only choice - 47 CHF.
Geneva-Barcelona: much easier and cheaper would be just to fly, EasyJet low-cost airline would get you from Geneva to Barcelona rather cheap and with no hassle.
Barcelona-Valencia: cheapest train is Regional Express (24 EUR), but it runs only once a day. Other option is to purchase discounted 'WEB' offer for one of the high-speed trains in advance (
https://venta.renfe.com/vol/index.do), can be as low as standard tariff for regional express train.
Valencia-Madrid: same as above, either slower regional train (24.35 EUR) or purchase in advance of discounted "WEB" ticket.
Madrid-Lisbon: again as with Geneva-Barcelona, flying will be cheaper since standard ticket for the direct overnight train cost from 60 EUR, while flight with same EasyJet, Air Europa etc. can be twice as cheap.