Похоже, что положение относительно #b может быть лучшим решением.
Поскольку #b является первым элементом в #a, он естественно появится в верхнем левом углу #a, поэтому относительное положение будет располагаться относительно той же точки, что и абсолютное положение.
Также, скажем, вы хотите нажать #b на 30px, затем вы установите
#b{position:relative;top:30px;margin-bottom:30px;}
Контент очистит нижнюю часть #b, потому что position: относительный оставляет блок в потоке контента, равный высоте #b + 30px;