Used Miata too, or even a Z3 or S2000, if you can find one that's mostly unmolested. Another is an E30 or E28 M, they're getting scarce but still pop up for <20k. Gotta say no to the Prius, simply the worst handling car I've ever driven, just awful. If gas mileage is key then a used Fiat 500 could be an option.
The P1800S needs much work, but is put away, it might be a while before we get to it. The Elite is fine as is, runs like a top with its tiny 1.4L with dual Webers. Of course it doesn't have power anything but it's so light it doesn't matter, it's very precise and sharp little car. We're not doing anything to it, they detailed it and checked the fluids, but it's perfect as is.
At that price range you'd be looking at an older Z3 and I'd have to caution about the maintenance costs. They were not the most reliable cars BMW made your other 2 picks are a better choice. S2k for sure the Miata absolutely. Might also want to have a look round the Toyota stable in that zone. I'd venture Subaru, but once again maintenance is the killer there.