It all depends on how you design your database. What are you storing the old adress for? Invoices? If so store the address in the invoice table (of the database).
The current address only need to be stored once. On the users profile. With your current design you will have X* controllers. And will need to rewrite your controller Y** times when you change some data.
By the looks of things you want to append every single user inside one files. If you do so, you won't be able to even look up a user less change out any information about said user. As you can't replace and find things.
* user accounts.
** every time you change relation (to other users), their adress etc.