コマンドに限らずプログラムは色んな実装方法があります。これが一番軽いわけではありません。初心者でわかりやすそうな例を選びました。
...でも①はちょっとわかりにくいかも。うまくできなかったら別の方法考えてみてください。
①制限時間(カウントダウン方式)でコマンドを組む方法
まず開始時にスコアボード1に、制限時間(秒)の20倍(tick)を入れます。
リピートコマンドブロック等で毎tickスコアボードその1を20ずつ減らし、スコアボード2はスコアボード1を20で割ったものにするとよいかと思います。
スコアボードは整数しか扱えず答えが少数になると切り捨てされるのでうまく表示されるはず。
②制限時間をホットバーに表示させる方法
ホットバーがどこかはわかりませんが、Chuzume氏のデータパックのようにホットバーの上に文字を表示する場合はtitileコマンドを使います。使い方はググってください。
スコアボードを表示させるときはここ↓が参考になると思います。
https://ch.nicovideo.jp/akaishi_ai/blomaga/ar857358
ホットバーのアイテムに表示させる場合は、カスタムフォントやカスタムモデルデータを使うか、耐久値バーを使うといいと思いますが初心者にはハードルが高いからおすすめしません。
③特定の時間ごとに何かを付与する(デバフ、バフ、アイテムなど)方法
これもスコアボード案件かな?
1.スコアボードを用意して
2.毎tick、スコアボードを1ずつ増やす
3.スコアボードが設定した時間(秒の20倍=tick)の時にバフを与えるコマンドを実行するようにする。
4.コマンドを実行するとき、ついでにスコアボードを0にする。
④制限時間が0になったときに文字(ゲームオーバーなど)を表示させる方法
これは①と②と③の応用です。自分で考えてみてください。
あえてコマンド例は書きませんでした。
コマンド初心者はググり力=コマンド力なので、自分で調べてみてください。
minecraftの英語wikiがおすすめです。Google翻訳を使えば割と読めます。
①はscoreboard players removeとscoreboard players operationを使います。
また、20で割る処理では20をセットしたスコアボードが必要です。
② titleコマンドは日本語の解説が多いのでヒントなしで。
③executeコマンドというちょっと難しいコマンドを使います。今回はexecute if scoreとexecute asの使い方を調べてみてください。