No, there is no need for that. Every <label> has to begin with ALPHA (and that was in RFC 1035), so if you see anything with just digits and "."s in it, it is either an <IPv4address> or it is a syntax error.
Actually RFC 1035 was superceded by RFC 1123 section 2.1 which states that each label except the TLD may be all-numeric.
Except that I see nothing in RFC 1123 that says the TLD is to be treated differently.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
If a dotted-decimal number can be entered without such identifying delimiters, then a full syntactic check must be made, because a segment of a host domain name is now allowed to begin with a digit and could legally be entirely numeric (see Section 6.1.2.4). However, a valid host name can never have the dotted-decimal form #.#.#.#, since at least the highest-level component label will be alphabetic.
There is also the interesting question whether you are allowed two "-"s in succession. Apparently you are, so I have incorporated that (and allowed it in <bareword> too for good measure).
One word: IDN. All IDN components (in ASCII form) are prefixed with xn--.
Attachment:
pgp00011.pgp
Description: PGP signature