Можно посмотреть в словарь:
ХЛЕБ, 1. только ед. Пищевой продукт, выпекаемый из муки. Ржаной, чёрный х. Пшеничный, белый х. (Это общее название)
БУЛКА, Белый пшеничный хлеб, обычно круглой или овальной формы.
Из этого следует, что нельзя говорить "булка хлеба", так как булка - это уже хлеб.
Смотрим дальше:
БАТОН, -а; м. [от франц. bâton - палка, жезл]. 1. Белый хлеб вытянутой формы. Нарезной б. Купить буханку хлеба и два батона.
БУХАНКА, Целый формовой хлеб (обычно чёрный). Б. хлеба. Съесть целую буханку.
Так как правильно? Покупаю буханку черного (а то еще белый "кирпичик" дадут), два батона ("белого" или "хлеба" - избыточная информация) и булку с сыром (если булок много).
Получается, что буханка хлеба - это правильно, булка хлеба - ни в коем случае.
А вот "батон хлеба" или "батон белого"? Нельзя так говорить, это неграмотная речь или допускаемый разговорный вариант?