Василий Ёлкин родился 5 июня 1918 года в селе Локно (ныне — Знаменский район Орловской области). С 1930 года проживал в городе Енакиево Донецкой области Украинской ССР. После окончания техникума связи работал техником-связистом. В 1938 году Василий Дмитриевич был призван на службу в Рабоче-крестьянскую Красную Армию. Участвовал в советско-финской войне. С сентября 1941 года — на фронтах Великой Отечественной войны. В 1942 году окончил Сумское артиллерийское училище. Принимал участие в боях на Западном, Воронежском и 1-м Украинском фронтах. Участвовал в боях подо Ржевом, Курской битве. Был ранен. К сентябрю 1943 года капитан Ёлкин командовал батареей 869-го истребительно-противотанкового артиллерийского полка 52-й армии Воронежского фронта. Отличился во время освобождения Полтавской области.
22 сентября 1943 года батарея Ёлкина успешно отразила вражескую контратаку в районе села Бригадировка (ныне — Калиновка Семёновского района), подбив 4 танка и 3 штурмовых орудия. В дальнейшем батарея принимала участие в битве за Днепр.