Как среду разработки конечно можно и нужно.

Это идея бродит у меня уже давно. Язык можно взять Оберон-0 (где-то лежат исходники).
Схема получается такая:
Исходный текст -> [СКАНЕР] - Поток токенов, сохраняемый в файл (Токен-файл);
Токен-файл -> СИНТАКСИЧКИЙ АНАЛИЗАТОР (ПАРСЕР)  -> Синтаксической дерево, сохраняемое в файл (СД-файл);
СД-файл -> ОПТИМИЗАТОР 0-уровня -> СД-файл;
СД-файл -> КОДОГЕНЕРАТОР блоков -> Объектный файл (О-файл);
О-файл -> СБОРЩИК -> исполняемый образ.

Таким образом под каждую платформу можно иметь набор Парсер + Кодогенератор + Сборщик.
----
А вот использовать КП для программирования МК - нет.

Во-первых, сходу отпадает поддержка динамической памяти, а значит и нужно ограничить использование указателей. Вопрос что и как ограничивать.  Во-вторых стандартных численных типов данных не достаточно, нужно расширять (не надо говорить o SYSTEM). А из этого вытекает и расширенная поддержка операций с этими данными. В-третьих, необходима поддержка ассемблера, как встроенная в язык, так и объектных файлов.  В-четвертых, язык должен быть однозначно ориентирован на статическую модель.