Насколько я понимаю, вы не можете. Вот почему CSS3 добавил эту функциональность, потому что CSS2 не мог сделать это самостоятельно. Есть несколько фреймворков CSS, которые добавляют эту функциональность. Что касается конвертации единиц, вам придется принять решение о приоритете, используя ваш пример:
$ width1 = 10px
$ width2 = 50%
Предполагая (для этого примера) экран 500px, если проценты имеют приоритет, сначала у вас будет блок 250px, к которому вы добавите 10px, что приведет к 260px. Если вы пойдете другим путем, это будет 250px. (Предполагается, что auto имеет приоритет над всеми, поэтому auto + 10px, а затем 50% его родительского контейнера).