Just updating to say I finally got Porygon! After Pokemon Tower I sold everything I could and bought coins to put me at 9860 coins total. I decided to gamble for the rest, which was a bit tideous. I saved in front of a slot machine and resaved when even I made a profit (and reset if I made a loss). So I guess Porygon can technically be obtained mid-game, althought it requires a lot of sacrifices.
I'm currently grinding it at Pokemon Tower (immune to Lick and can take a few Night Shades, but being so slow makes Confuse Ray annoying).