It seems like you should set permissions for such function, I think you can have a look at this contract: AccessControl.sol | openzeppelin-contracts It can help you set your own permissions.
Yes, I think so. IIRC, USDT has such function, it can freeze tokens, as for seizing, I am not sure, but they can mint new tokens.