the registration page would not have been created by eCart. It would have been created by Security Assist, in security assist you have to specify an element to be a select list for security assist to create it as one, other wise, it will create the element as a standard text box.
Quote:
"I would do this by adding the extra address columns in the database and the same extra fields in registration, checkout and confirm."
yes, that is correct, you will also need to update the Insert record behavior on the registration page to store the info from these new text fields.