Как повторно просить ввести данные пока не введут верные?
Не о том спрашиваете.
Любой цикл можно использовать:
for(;;) {...}
while(true) {...}
do {...} while(true)
Выходить из цикла с помощью break, когда ввод будет нормальный или изменить условие цикла.
На самом деле вечный цикл в данном случае не нужен. Лучше всего предусмотреть, например, 3 попытки ввода, и если не удачно - завершаемся. В этом случае for() подойдет лучше всего.
В целом в С/С++ циклы for и while имеют одинаковую функциональность, но for более приспособлен для счетчиков и т.п., т.к. в нем инициализация, условие и концовка цикла собраны в одной строке (более компактно, чем while). То же самое можно сделать и в while, но инициализацию и концовку придется написать отдельно.
#include<iostream>
using namespace std;

int main()
{
	long long int a;
	cout << "Введите пятизначное число: ";
	cin >> a;
	if(a >= 10000 && a <= 99999)
	{
		int f = a % 10;
		int e = (a / 10) % 10;
		int d = (a / 100) % 10;
		int c = (a / 1000) % 10;
		int b = (a / 10000) % 10;
		cout << b << endl;
		cout << c << endl;
		cout << d << endl;
		cout << e << endl;
		cout << f << endl;
	}
	else
	{


		do
		{
			cout << "ТЫ ЧЁ ДУРАК БЛЯТЬ?" << endl;
			cout << "Христом богом заклинаю, только пятизначные, плес. Пробуй: " << endl;

			cin >> a;
			if (a >= 10000 && a <= 99999)
			{

				int f = a % 10;
				int e = (a / 10) % 10;
				int d = (a / 100) % 10;
				int c = (a / 1000) % 10;
				int b = (a / 10000) % 10;
				cout << "Число номер 1: " << b << endl;
				cout << "Число номер 2: " << c << endl;
				cout << "Число номер 3: " << d << endl;
				cout << "Число номер 4: " << e << endl;
				cout << "Число номер 5: " << f << endl;
			}
			
		}
		

		while (a > 99999 || a < 10000);
	}
	
	
	

	return 0;
}