Goto to Data->Validation and set the "Allow:" option to "Text Length", set your minimum and maximum values to 14.
You may want to set the "Error Alert" message as well. The default error message isn't very helpful.
This may be an Excel workaround for you. I am not aware of a way to force a data entry person to type 14 numeric characters directly into a cell.
Use data validation in the data entry cells by limiting entry to numbers between 1 and 99999999999999 so that no more than 14 characters may be entered.
The function below used in cells adjacent to the data entry cells will display the numbers with filled in leading zeroes so that the length will be 14 characters. You then would copy these reformatted numbers as values to where you want to use them, or you can copy them as values into the cells where they were entered (from column B to column A in my attached example). So for data entered in cell A1, the formula in B1 should be "=FrontFill(A1)" without the quotes.
Function FrontFill(txt As String)
Dim ZLen As Integer, x As Integer
ZLen = Len(txt)
If ZLen > 0 Then
For x = 1 To (14 - ZLen)
txt = "0" & txt
FrontFill = txt
Custom formatting will display leading zeroes, but in my experience, the leading zeroes are not preserved when the cell value is copied to another cell, which my reformatting technique of using a function to add, in an adjacent column, the character "0" in front of the string until the length is 14, does preserve them.
If the goal is only to display 14-chararacter numbers in the cells where they are entered, then I would use your soultion of custom formatting combined with whole number data validation to limit entries of numeric values between 1 and 99999999999999. This data validation will not allow the entry of non-numeric characters.
Data validation suggested below by Dave, limiting the text length, will not prevent entering non-numeric characters.