For the movement speed there should be some kinda trigger for it that can select it.. use that, as for all you have some basic funktion:
Event: Player X enters "xyz" as exact String (something like this, im writing outta my Head)
So Repeat this for all Players, who are able to do this (maybe only Player 1)
For the xyz part just enter "-ms" or "-ap" or anything you like
As i said above, search a bit under the triggers for units or else there should be some, that gets the movement speed, so all you have to do is:
Pick every unit owned by Player X
-> if picked unit is a Hero equal to true (or some other condition, like unit-type of unit)
-->Show message "movement speed of picked unit" (it's some value you changed into a string) to player X
Uhm, for the "-ap" part i guess you got some kinda tavern or else, where you'll need a unit (Hero chooser) to pick a Hero/Unit/whatever..
So same event as always, with actions: create a "Hero chooser" for player x at position of xy (the region you've used or some other position)
The repick part should be easy as well, same event as above.. (remeber to change the entered text all the time, hehe) with actions:
pick every unit owned by player X (you can use triggering player as well, so you don't need to do a trigger for each player)
-> if picked unit is a Hero equal to true
--> remove it from the game
--> wait 0.1 seconds
--> create 1 Hero chooser for triggering player/playerX at position xy
--> pan camera to position xy over 1 seconds.
could be look like this.. if you have some further effects, like spells, or items or anything else you want to keep or reset add them here as well