Average pregnancy is 150 days, but anywhere from 145 days to 155 days in considered normal.
When they come into heat depends on the breed. Most miniature goats (Nigerian Dwarf, Pygmy, miniNubian, etc.) will come into heat approximately every 21 days, year round. Dairy goats such as Nubians, Saanens, etc. cycle mainly in the fall months. It can vary but usually from August until about February. With meat breeds such as Boer, it can vary between individual goats. Some will cycle year round, others will cycle in the fall like dairy goats do. With all breeds, they will come into heat approximately every 21 days when they are cycling, and the heat period will last anywhere from 12 hours up to 3 days.
They *can* have babies twice a year, but it's very hard on the does to constantly be pregnant and in milk at the same time. Responsible breeders will breed their goats once a year, or at the very most 3 times over 2 years. They should never be bred twice a year every year without having a good break to recuperate at some point. My goats are never bred more than once a year.
Most goats will have twins, but sometimes they have singles, triplets, or quadruplets. I know a few people who have had goats that have successfully birthed quints and sextuplets, but it's rare for them to have more than 4 live babies.