Making the piston run up and down the thread shouldn't be much of a problem; that's how Ron Perrott's tanks work, and they're well proven. Just means putting a stuffing box on the piston to seal the thread.
Keeping the piston from turning/revolving, is a little more tricky. I've seen air motors that use octagonal cylinders and pistons, but that's a bit beyond my machining skills.
The only practical way that springs to mind is to put an additional rod above the main thread, and that would also need sealing against water ingress if that rod also remained fixed. An o-ring in the piston should take care of that, but it's another point of potential failure.
Regarding size. I can do 50mm up to 20cm long, as that is the longest piece of pipe I have in that diameter. I got this sent over from a fellow modeller in Germany, and he cut it into sections to keep postage sensible. I've had no luck finding a supplier here in the UK for 50mm I/D pipe. I do have some 60mm tubing with a 55mm internal diameter, and I could make that long enough for a 500cc tank. The latter pipe is used for coaxial flues on condensing boilers, and the internal finish is totally smooth and accurate, unlike most extruded plastic pipe.
The other alternative is to go to 80mm. This involves laminating the tube on a former. I've had a go at this in the past, and it worked okay, but I used polyester resin, and the tube moved a bit. I could have a crack with epoxy resin and carbon fibre which should should produce a light but strong tube that stays true, and you would only need a tank length of 10cm plus piston and bulkhead depth for a volume of 500cc. I'm still experimenting with this at the moment, so might be better to go with the pre-moulded pipe.