A lot of this is probably already possible. I implemented the bed tramming part here: Bed Tramming from the LCD
You can probably borrow the principles there to implement some of the other things you describe.
Ironically, I ditched my LCD for KlipperScreen about a year ago for the reasons discussed in this thread.