No they don't. Sorry.
If you catch a Ditto in the Pokemon village its IVs will be random, just like any other Pokemon there. However, like with all Pokemon found in the wild, you could try to chain for a Ditto. If you have a chain of:
- 40+ you get one perfect IV!
- 50+ you get two perfect IVs!!
- 60+ you get three perfect IVs!!!
(Thanks to fondant for the chaining information)
In order to obtain a Ditto with 2 perfect IVs instantly, you must catch it from the Friend Safari
Source: Knowledge