The debate over who became the wife of Cain and Abel has gone on for centuries. The short answer is that the brothers had to marry their sisters. Man was, at first, only two people, Adam and Eve. The couple's first three children were Cain, Abel and Seth, "After he begot Seth, were eight hundred years; and he had sons and daughters" (Genesis 5:4).
How many sisters were potentially available for the two men to wed? The Bible does not reveal exactly how many children Adam and Eve produced. It is safe to assume, however, that since Adam lived 930 years, he had plenty of time to take full advantage of God's command to procreate and fill the earth! Cain, over time, would have plenty of females to choose from.
A footnote in the writings of the Jewish historian Flavius Josephus (Antiquities of the Jews, Book 1, Chapter 2) states that there existed an old tradition that declared Adam had thirty-three (33) sons and twenty-one (21) daughters!
Perfect creation
Adam and Eve's creation was perfect in every way. Their children would also be born physically and genetically perfect. For a time after humans were created men could (and had to) marry one of their sisters.
God, sometime after the flood, commanded that near-relative marriages (like what Cain had to do) were no longer permitted (Leviticus 18:6). If Adam and Eve had received the same command God gave to ancient Israel then man would have quickly died out. He, therefore, temporarily allowed intra-family marriages to increase the population of humans.
Genetic weakness
By the time of the flood, severe genetic weaknesses had likely set in, making close-kin marriages impractical. It would also greatly reduce the average life span of man after the flood. This would prevent another population explosion of the pre-flood magnitude.
One might wonder why these weaknesses set in. It is obvious Cain did not care about God's law, else he would not have murdered his brother (Genesis 4:8; Exodus 20:13). If he disobeyed God in this matter, Cain likely disobeyed him in matters of diet (Leviticus 11, Deuteronomy 14), and ate whatever pleased him.
Certain animals simply are not fit for human food and because of the nature of their flesh slowly, but certainly, break down the human system bringing on illness. Ingestion of the genetic code of such animals would obviously cause mutation of genes in the human body.
In conclusion, Cain and Abel were allowed to marry any female since it was genetically safe to do so. After the flood, when genetic mutations crept in, it was no longer allowed.