If you use the standard "Message Popup" step you can determine the length of the user input within the Step's Post-Expression.
Say you create a Local variable "input_valid" and use the following post-Expression in the Message Popup step:
Len(Step.Result.Response) == 3 ? (Locals.input_valid = True) : (Locals.input_valid = False)
Then you can expand from there with e.g. a while loop around the Message Popup.
This does not quite fulfil your requirement though as it only checks for the length of the user input and not whether it has three letters.Could as well be two letters and a number. But maybe that is already good enough for you, in this case you wouldn't need a code module.