IDLE intentionally isolates its GUI, including Shell, from the running of your code. By default, they run in separate processes. If you start idle with 'python -m idlelib -n' so that GUI code and your code run in the same process, you might possibly break out of the within-process sandbox and change the window title. If you were to do so and said how, I might consider it a bug to be fixed.
What you can do from outside IDLE, is outside IDLE's control, and likely system dependent.
IDLE has a '-t title' startup option. python -m idlelib -t My-shell
starts IDLE with a shell entitled "My-shell". To have a space in the title (and perhaps other chars, depending on the system), as with "My shell", quote it on the command line. On Windows, use double quotes, as I just did. I hope that this meets your need.
We could add 'Change title' to the Shell menu. But AFAIK you are the first to request this ability, and the IDLE charter is to keep it reasonably simple.