Почему если я задаю в псевдосвойствах ::before стрелочку то строка вся в одну высоту пример, а если стрелочку убираю, то у меня высота произвольно меняется пример?
Смотрел через firebug и там видно что класс arrow_label имеет отступ внутри, хотя я его не задавал. Почему так и как это исправить, чтобы верстка не ехала.
Потому что надо добавлять обтекание (float) к элементам если хотите расположить их в горизонтальной плоскости. А вообще конечно лучше всего обратите внимание на display: flex и почитать документацию про него:
.....
.filed_input div {
display:inline-block;
float:left;
}