Вам придется переписать / расширить компилятор, добавить новую грамматику в лексикографический блок (это, вероятно, самая простая часть) и, что наиболее важно, добавить новые спецификации. Если бы вы добавили эти ключевые слова к языку C, у вас больше не было бы языка C, но производного. Ваш код не будет понят ни одним другим компилятором. Кроме того, это не просто ключевые слова, это определенное ожидаемое поведение, вы не можете просто реализовать ключевые слова, вам нужно добавить полную поддержку ООП для языка. Если это то, что вы планируете - удачи.
Скрытие данных - это особенность управляемых языков, поскольку у вашей программы есть отдельная среда выполнения, которая заботится о вещах за кулисами, этого не существует в C. Если вы хотите иметь эти функции (скрытие данных и другие абстракции ограничены управляемыми языками), вы должны были бы точно создать такую конструкцию, т.е. реализация среды выполнения, чтобы позаботиться о вещах за кулисами. Тогда и только тогда вы сможете добиться сокрытия данных и других абстракций.
C просто не предлагает эти возможности, любой код в программе может получить доступ к любому адресу в виртуальной памяти процесса, обходя все, что вы планируете.
Мой совет, даже если вам будет трудно: используйте для этого управляемый язык. C не является правильным языком для достижения того, что вы хотите сделать.