Create a table called AddressType with three fields: addressID.Sales, addressType,addressID. The first field you have to have in the Sales table too - that way you get a key shared between the Sales and AddressType tables. The lastfield in the AddressType table will have to be in the Address table so you get a key shared between the AddressType and Address tables. In the field addressType you will have only two possible values: 'ShipTo' or 'BillTo' which identify what kind of address row you have in the AddressType table.
The concept is similar to what Henric Cronström has descibed in his article about "Canonical Date". So in your case we could call this "Canonical Addresses". Look here: Canonical Date
Create two separate tables named ShipToAddresses and BillToAddresses and you have two separate ids for each of them.
there are various other fields in adress table and also the sales table is having many rows, if i make them as two different tables , and concatenate them, they will result in double the rows. adress table has all values of adresses and is a primary key.
shiptoadress ID and billtoadressID may be same or different but all its values are present in adressID column in adress table