How long does a times series need to be for fitting an ARIMA model? Is there a good heuristic for how long a time series should be to estimate an ARIMA model? E.g., if the process is ARIMA(2,1,0) how many points would be needed to estimate that model?

There is no such rule of thumb that I have seen in 15 years of time series forecasting. Of course, more is always better.
This is actually a nice opportunity for some simulation-based learning. Take any time series you have. Fit an ARIMA model to it, using automatic order selection (e.g., using forecast::auto.arima() in R). You now have a fitted ARIMA(p,d,q) model.
Now simulate a time series based on the fitted model, with the same length as your original series. Take this simulated series, and again auto-fit an ARIMA model. Do you get the same values for p, d and q? Quite probably (and surprisingly often) you don't. Re-run the simulating and fitting. How often do you get the "real" model order?
Then tweak the length of the simulated series. If you increase the length, you will more often get the order you feed in. How long does the series need to be until you are satisfied with the probability of recovering the model you used in simulating?
You can learn a lot about model selection variability in ARIMA this way.
