Откуда берется расстояние между блоками? Почему не работает width 50%?
Эх, давно я не советовал эту книгу. Новое поколение кодеров подвалило =)
Просвещайтесь (бесплатно, без смс): Инлайновый контекст форматированияUPDКстати, на том же сайте буквально сегодня появилась статья по вашей теме Удивительный и неизвестный inline-block
Можно с нее начать, там много нюансов затронуто, а потом книжку прочитать для полного просветления.
Fighting the Space Between Inline Block Elements
По поводу width, нужно учитывать margin , попробуйте width  calc(50% - 1em)