Magento customer attributes extension allows you to add custom fields to Magento registration page. You can sort the position of these fields and make them optional or mandatory.