You can call a timeout whenever you would like to.
Yes, the assistant can call a timeout, players on the court can also call timeouts.
Any player on the field of play or the head coach of the team may call a timeout.
A player on the field or the head coach
Coaches or players call timeouts for several reasons. One common reason to call a timeout is to change the momentum of the game. If an opposing player is getting in three-pointer after three-pointer, you might want to call a timeout and hope it disrupts his hot streak. Another reason is to substitute players in. When you want to substitute a player in, the player won't be able to go in until game play stops. Timeouts can do stop a game. Also, another reason to call a timeout is for the coach to tell the players something he wants to say. For example, a coach might call a timeout to tell the players to stop being weak on defense, or to draw up a play when the game is on the line.
yes. but only on a dead ball. You can't call a defensive time out when the ball is in play.
any player on the field or the head coach
Coaches and quarterbacks can call a timeout on the field during a college football game.
Nope. The refs will allow that.
20 second timeouts and a "full" timeout which is 1 minute
Never, a player can not be called out since it is not baseball. But a player can be ejected from the game