Yeah, the player ID number is at d47b-d47c in Crystal. You can use ACE to write whichever you want into those addresses.
On Pokemon Yellow it required two inputs, one required changing the ID which changed upon catching a new Pokemon, the other required manually changing the ID of Pokemon already owned to match your new ID (so previously caught Pokemon would still be recognised as yours with the new ID and would obey). It was simple enough to do, but I wondered if the process would be the same in Crystal with the two different inputs and I wonder if someone could test this for me because I don't have access to the games currently and it should be simple enough to do.
Yes. The changes to your player ID don't automatically change your Pokémon's IDs, so if you wanted to update all of them you'd first have to update your current player ID with one code and then the player IDs of the Pokémon you own that you wish to give your ID (preferably the code could change Pokémon 1's ID for instance and you could swap multiple Pokémon into slot 1).
Additionally, if a Pokémon with an unterminated name has the Trainer ID 09947 (26 DB) or 09979 (26 FB) and has 233 experience (this Pokémon can be manipulated with 8F or ws m in Generation I and you may just have to change its ID, not your ID on Generation II but I'm unsure), you could possibly use it over a Lapras with Perish Song, Bide and Safeguard (to redirect the code to box 1 character 1's name) or a Pokémon with Perish Song, Return, Whirlpool (to redirect the code to item 5), or Crystal_'s method to redirect the code to items
But the Trainer ID method may not go as expected, when the program counter gets to D114 there would be ld h, db, nop, nop, jp hl and depending on what 'l' happens to be after the game was running through CD52 you may not safely get to the box names.
For the Lapras and Trainer ID methods you would need to go to toss an item x21 at the bottom of the items pack but cancel out, then scroll down and press A on cancel before viewing the Pokémon's summary.
I'm afraid I don't know whether you would need to update your player ID for the Trainer ID execution method or if it's just for your Pokémon.
Hope that helps!