First of all, take out "because". "The reason is" is followed by "that" and not followed by "because". If you wanted to give a reason, you could say, "That is because…" but you cannot use both. And don't fall into the Double "Is" trap - you'll hear people say "The reason is, is that there are…."
Secondly (and this is important) it's not "less homes" - it is "fewer homes"! "Less" would go before a singular noun or another part of speech, but "fewer" goes before a plural one. So light beer might be "less filling" but it has "fewer calories" (not "less calories").
So you want to say, "The number one reason to sell now is that fewer homes for sales mean less competition for you." You could also say "The primary reason" or "The most compelling reason" if you want to get away from the "number one" phrase.
Finally, the choice between "mean" or "means" is based on the noun it applies to - and that noun is "homes", therefore you use "mean". If you added in another noun, that could change. For example, if you said, "The lack of sufficient homes means…." because "means" goes with "lack" and "of sufficient homes" modifies the singular word "lack."