You hope!! Why not do something simple like generate a password? You've not been at this long have you, if you had then you would know that everything that can go wrong with a password system will go wrong with it. The 'cleverer' the process the more it will go wrong. Try this for a random 6 character string:
$newpass = substr(md5(time()),0,6);
it generates an md5 hash string from the system time and truncates it to 6 chars. About as random as you can get.
Just use the user's name and generate a password and send it to them.
As to only one family at an address: people move, get their post code wrong, share houses, don't like to reveal that they live in a flat so forget the A, B etc. Believe me, your system WILL end up issuing the same address/post code combination because that is the real world.