Ответ:
#define KT_PORT B
#define KT_PIN 0
#define KT (KT_PORT, KT_PIN)
#define DATA_O(node) _DATA_OUT(node)
#define DATA_OUT(port, pin) _DATA_OUT(port, pin)
#define _DATA_OUT(port, pin) sbi(DDR##port, PORT##port##pin)
Вот тут-то и спрятался весь смысл правой грамматики разбора.
Вызов:
DATA_O(KT);
Получается, что макрос разворачиваясь вызывает макрос _DATA_OUT() передавая ему один(!) параметр (KT в данном случае), а тот, в свою очередь получает два. (B и 0).