I was not able to get done what I wanted with strcat or strncat. I could not find a way to concatenate char and Strings using these functions because they require the source and destination to be of type char and I could not figure out how to change a char to a String or vice versa. Very confusing. Then I found the toCharArray() method. It turned out to be the problem solver.
#include <ESP8266WiFi.h>
char client_id[15];
createClientId();
void createClientId(){
strcat(client_id,"ESP8266-");
char temp[3];
WiFi.macAddress().substring(9,11).toCharArray(temp,3);
strcat(client_id,temp);
WiFi.macAddress().substring(12,14).toCharArray(temp,3);
strcat(client_id,temp);
WiFi.macAddress().substring(15).toCharArray(temp,3);
strcat(client_id,temp);
}
Any suggestions to clean up/shorten, correct mistakes in this noobie code welcomed! Thanks again for the help everyone.