можно. ничего в этом плохого нет.
только при адаптации не забудь следить за шириной своего созданного контейнера, чтобы он не выбивался за пределы документа.
На работу в офис, где ищут джунов, где будет верстальщик хорошего уровня. Другого нормального способа (а еще и бесплатно нужно, наверно, да?) не встречал
label должен быть либо сиблингом, либо дочерним элементом. В твоем случае никак. Но можешь внутри сделать к примеру div и его уже стилизовать как label. и ему уже менять background
типа так: