As others have noted, RFC 6762 reserves the .local tld for use with multicast dns (mDNS). In the absence of mDNS, using .local would be fine, but because of the widespread use of mDNS, it is not a good idea to use that domain except for its intended purpose.
That said, there are domains reserved for local use in RFC 2606. These domains are .example, .invalid, .test, and .localhost. The rfc indicates they are each intended for a particular purpose, and that some systems may already utilize them:
".test" is recommended for use in testing of current or new DNS
".example" is recommended for use in documentation or as examples.
".invalid" is intended for use in online construction of domain
names that are sure to be invalid and which it is obvious at a
glance are invalid.
The ".localhost" TLD has traditionally been statically defined in
host DNS implementations as having an A record pointing to the
loop back IP address and is reserved for such use. Any other use
would conflict with widely deployed code which assumes this use.