I am trying to make a /migrate command since you know xbox usernames are gonna be enforced, i cant think of an algo, if i use /migrate john <pass> then wherever john's data is there, my username's data will be inserted, but what about my data, what if someone else did /migrate hipster <pass> but now he will get johns data too since its overwritten by me. Anyone?
I've just added exactly that to a new branch of SimpleAuth here, using /link <oldname> <oldpass> and /unlink. Be sure to check out how to update your database before using it, and to work properly it needs a patched version of PocketMine - but that may change soon. As for the issue you mention, you could restrict linking to a single linked account per account, if you wanted.
It's not that simple. If a player has a different username, their inventory data is different. In fact, all their NBT data would be different. Maybe merge the permissions, then remove any duplicate permissions. It would probably be better if you set the user to have the highest tier group between the two accounts.
The way accounts are switched means every plugin I've tested so far will treat the account as the linked player, including /list and PurePerms which will give the correct rank and perms from the linked account when you login. Some plugins such as CustomEvents might display the wrong player name when you join, but homes, plots, land, ranks etc all show up as if you were the other player. As for inventory, that is preserved too so when you switch accounts you'll get the correct inventory when you join as the linked player, and get your original inventory back when you unlink.