It sounds like you are looking into writing a package that will something very similar to what redgate SQL Data Compare tries to do.
Can you please clarify these statements:
I need to identify the corresponding ID related data for each column in syn or not.
What do you mean by "for each column in sync or not"?
If the data is not in syn then I need to maintain that data with column name in another table.
Are you saying that if you compare two rows with an ID of 10 are the same but column1, column3 and column5 are not matching that you want to store 3 rows in some "audit table" that shows:
__________________________________________________________________________________________________There are no special teachers of virtue, because virtue is taught by the whole community. --Plato