Theoretisch könntest du das. Dann ist es allerdings etwas komplizierter, wenn du auf die einzelnen Deskriptoren zugreifen willst, weil ein Deskriptor 8 Bytes groß ist, aber ein int ja nur 4 Bytes. Du müsstest also immer mit 2 multiplizieren, was den Code nicht gerade schöner macht.
Eine bessere Lösung als uint64_t wäre für die Deskriptoren ein richtiges struct zu definieren.
Beispielsweise ähnlich wie dies hier:
typedef struct gdt_descriptor {
uint16_t limit;
uint16_t base;
uint8_t base16;
uint8_t access;
uint8_t limit16;
uint8_t base24;
} __attribute__((packed)) gdt_descriptor_t;
Dann kannst du auf die meisten Elemente zugreifen ohne viel rumshiften zu müssen.