половинное решение. я так понимаю, pc-asm не устраивает низкой плотностью кода, но если не торопиться и не жалеть времени на реализацию, выгоднее брать за основу не z80-asm (почему именно z80?), а псевдо-код, максимально приспособленный под задачу, ну или максимально удобный (много регистров, свои режимы адресации и т.п.)

пускай поначалу не затачивать систему команд, а хотя бы статистически анализировать байт-код и менять способ кодирования на оптимальный, прописывая таблицы в интерпретаторе

ну и самый рулез - сделать оптимизирующий компилятор с си (если удобнее - с паскаля), потому что переписывать код с каждой новой ревизией скрипта - мартышкин труд