There are a few ways to accomplish this, none are short and sweet that I know of. This problem is encountered under many situations like working with voter registration lists and such.
Depending on your data entry quality you my be able to create a common link by address between records. Unfortunately consistency of data entry normally is not high enough to do this. Therefor, it my require a little manpower. You can create a grouping number in the primary name record line. Sort the records by Lastname, City, then Address and manually review, assigning a grouping number. In other words manually scan the data all last names of "Smith" where the city is the same and the address is probably the same gets the same grouping number. A time consuming process that will only work for a while, unless data entry process are in place to look for common address information in the future.
Even this won't work entirely as it probable that two people with different last names live at the same address so you would need to sort and resort your list a couple of different ways to improve the grouping idea.
The ideal solution is to redesign the database so that names and address ARE NOT kept in the same table, which is what should have happened in the first place. Then when entering the address information conform to postal rules regarding addresses including abbreviations, link names to address via a linking table and you will end up with a very accurate listing that can handle any situation that arises, even snowbird addresses are handled easily when the database design is sound.
The bottom line
Good Luck
ssecca