1) В чем выгода наследования от целого числа? Выполнить арифметику по коду страны? Код страны требует класса вообще? Для какого поведения?
2) непосредственный подкласс - это деталь реализации. Обычный объект - это указатели (объектно-ориентированные указатели). Непосредственные объекты содержат данные вместо указателя. Они распознаются виртуальной машиной, имея младшие биты, отличные от нуля. Обычный адрес выровнен на 4 8 или 16 байтов и младшие биты установлены в ноль.
3) Вы не можете создать непосредственный объект, вы не можете выделить память (новую), и вы также не можете подклассировать их. Только виртуальная машина может, и да, это всегда с помощью арифметики для SmallInteger.
Так что да, композиция, вероятно, то, что вам нужно. Страна имеет небольшой целочисленный телефонный код (в переменной экземпляра), а также, возможно, другие функции (имя ...).