You could store the hex numbers in a int array using strtok() and strtol().
char str[] = "00:AA:FF:7FFF"; // Maximum 0x7FFF.
int intArray[16]; // Maximum number of hex numbers.
void setup(){
Serial.begin(9600);
int counter = 0;
char * pch = strtok(str, ":");
while(pch != NULL){
intArray[counter] = strtol(pch, NULL, 16);
pch = strtok(NULL, ":");
counter++;
}
Serial.print("Item Count = ");
Serial.println(counter);
for(int i = 0; i < counter; i++){
Serial.println(intArray[i]);
}
}
void loop(){}