Inheriting player leads to some weird situations as bukkit will only ever return the player bukkit knows about, e.g. not PluginExtendedPlayer. The other way around this is to make essentially a utils class with methods that take the player as the first argument
No you can't as the player that bukkit gives you isn't one of your new players. You can always just make a class that takes in a player and use that instead of the player object