vector3 variable can be global or local, but with local you'll have get or set the variable to transfer its value between FSM, as with global it will be easier, because you can use it right away between FSM, without the need for get or set variable actions.
For stucking issue, just simply create a physics material, and set its friction to 0 (both static and dynamic friction), and apply that material to the player collider component.