Есть только один способ реально сделать так как вы хотите. Использовать новую единицу измерения "vw" (viewport width). Примерно так: jsfiddle.net/IonDen/d8yxavgw
Обычно делаются разные спрайты иконок под разные разрешения, и разный множитель плотности ppi, это нормально. Вот классная статья на тему: habrahabr.ru/post/237931
base64 нужен только для самых часто используемых небольших иконок. Желательно не перегружать CSS слишком сильно.
Не используйте таблицу саму по себе. Используйте вложенные блоки. В зависимости от ширины экрана прописывайте то одним то другим display: table /table-cell и будет вам радость.