Yes, it seems that your first Ditto has perfect Defence IVs and that the second one has perfect Speed IVs. Cross-checking this with Pokemon Showdown's teambuilder verifies that the calculator is indeed correct in each of its estimations, assuming that neither Ditto has gained any EVs. 31 is the maximum amount of IVs Pokemon can have in one stat. Just be careful using the term "perfect IVs", as this is generally used to describe Pokemon with flawless IVs in all of their stats; there's no limit to how many perfect stats a Pokemon can have.

Hidden Power type is helpful in finding the IVs of Pokemon, as the type is determined by the same numbers. It's relevant and will narrow down some of the numbers for you, but quite clearly it's not absolutely necessary to make good estimates of IVs. If you're interested, you can find your Pokemon's Hidden Power type by checking with one the people at the stalls outside the PWT, then input the type into Azurilland's calculator.

Also, it's worth mentioning that you don't need to use an IV calculator to find out if your Pokemon have perfect IVs, as there's a way to do that more quickly in-game. If you've beaten the Pokemon League, an Ace Trainer will appear in the Gear Station at Nimbasa City, who will evaluate your Pokemon's stats. He will tell you which stat has the Pokemon's highest IV, and if he says that any of your Pokemon's stats "can't be beaten", then that stat is perfect. If there's a tie (and if there's more than one perfect IV), he will suggest that the other stat/s are also good. His descriptions of the IVs are vague and unhelpful otherwise, so if you want exact values for all of your Pokemon's IVs, a calculator will be more helpful.

For your side question, the only way to guarantee natures when breeding is with an Everstone. The baby will have a randomly generated nature based on its personality values.