А в чём проблема? position: absolute по умолчанию работает как нужно. Нужно только сделать white-space: nowrap, чтобы пункты не переносились. Ну и использовать отрицательный отступ слева, равный внутреннему отступу выпадашки, чтобы выровнять текст выпадашки с текстом самого контрола.
https://jsfiddle.net/e1wzyL9L/1/