Not too hard in an individual app. On closing down you save the x and y origin points in a dotfile. The next time it runs, it checks if the dotfile exists, reads x and y back into variables and opens its window in the same spot. Saving x and y in extended attributes would be more Haiku-ish, but it amounts to the same thing, really.
But it sounds as if you are asking for a system-wide override that will reposition windows even if the app itself has no provision for it. That comes down to session management. A big job.