Better input for Doc2Vec
There are plenty of different approaches you can use, and none is the universal best solution. However, in general, preprocessing in twitter data, especially for Doc2Vec, follow:


tokeninzing (nltk tokenizer, custom regex tokenizer) to identify words. Depending on the application, you can work on special cases such as english contractions, negations (sentiment analysis especially) and others
normalizing urls and/or mentions, transforming each of them to the same version to reduce voacbulary size (http://someurl, @mention) or totally removing them.
removing of numbers, punctuation or others. Note that this is highly domain dependent, for example "!" has been shown to express a lot in sentiment analysis. 


In fact, doc2vec doesn't expect anything, it uses the vocabulary you give. So you decide what you want to keep. A good practice is to experiment different tokenizers and training phases if you have time to see what works best. Also use what has already been done in your field of application.

Don't forget that the input of Doc2Vec is an iterator over a list of TaggedDocument. See this tutorial for more.

Good luck !