Hello Jim,

You may want to try this:
IF(LEN(TRIM([Firstname]))=1,IF(CONTAINS("A;B;C;D;E;F;G;H;I;J;K;L;M;N;O;P;Q;R;S;T;U;V;W;X;Y;Z", [Firstname]), "Friend, ", "Does not match any letters"),[Firstname])

The first if checks the length of the field Firstname. If it only have 1 character then we go in the true statement and we check if it is finding one of the letters (that part could be technically skipped as we checked prior how many characters it contained and just put the actual "Friend,"). Now for the false answer to that second if is completely up to you if it doesn't match any of the letters. Then the false section to the first if, which means it has more than 1 characters.

Or this simplify code:
IF(LEN(TRIM([Firstname]))=1, "Friend, ",[Firstname])

Hope this helps!