Теперь главный вопрос, подскажите пожалуйста максимально понятно насколько это возможно, как правильно организовать хранение клиентов и заявок в базе данных, если у меня 2 формы где пользователь может оставить либо номер телефона либо почту.
Делаете таблицу для пользователей, в которой присутствуют поля для телефона и для эл.почты. И записываете либо телефон, либо эл. почту и потом выводите где нужно соответствующее поле. С таблицами по заявкам связываете пользователей по user_id.
Нужно ли создавать две таблицы для клиентов, которые оставляют заявки на продукты где требуется номер телефона и таблицу для клиентов где требуется электронная почта?
Нет, не нужно. Просто выводите там где нужно телефон, а в другом случае эл.почту.
Таблица
users: id, name, phone_number, email;
Таблица
application_product: id, user_id, message;
Потом вы можете делать запрос к базе данных, например, так:
SELECT u.name, u.email, ap.message
FROM application_product ap
JOIN users u ON ap.user_id = u.id
WHERE ...
Для application_back_call соответственно выбираете u.phone_number вместо u.email.