Dynamic ordering of items in sitemap

The following is just thinking out loud without testing, but what you could do in theory is:
Define for each BatteryLevel_n item a BatteryPosition_n item, and whenever any of the BatteryLevel_n items changes (ideally by putting them in a Group in my opinion), you can use a rule to determine what the desired position of each item is, and store that in the BatteryPosition_n.
So for example you will have BatteryLevel_1 with a value of 25%, BatteryLevel_2 with a value of 62%, BatteryLevel_3 with a value of 75% and BatteryLevel_4 with a value of 17%.
So then the desired values of BatteryPositon_n are: 1 for n=4, 2 for n=1, 3 for n=3 and 4 for n=3. Let’s suppose you have a rule to achieve that (and I am quite positive that is doable), you could then do this: (in short)

Text item=BatteryLevel_1 label="Battery 1 [%d %%]" visibility=[BatteryPosition_1==1]
Text item=BatteryLevel_2 label="Battery 2 [%d %%]" visibility=[BatteryPosition_2==1]
Text item=BatteryLevel_3 label="Battery 3 [%d %%]" visibility=[BatteryPosition_3==1]
Text item=BatteryLevel_4 label="Battery 4 [%d %%]" visibility=[BatteryPosition_4==1]
Text item=BatteryLevel_1 label="Battery 1 [%d %%]" visibility=[BatteryPosition_1==2]
Text item=BatteryLevel_2 label="Battery 2 [%d %%]" visibility=[BatteryPosition_2==2]
Text item=BatteryLevel_3 label="Battery 3 [%d %%]" visibility=[BatteryPosition_3==2]
Text item=BatteryLevel_4 label="Battery 4 [%d %%]" visibility=[BatteryPosition_4==2]
Text item=BatteryLevel_1 label="Battery 1 [%d %%]" visibility=[BatteryPosition_1==3]
Text item=BatteryLevel_2 label="Battery 2 [%d %%]" visibility=[BatteryPosition_2==3]
Text item=BatteryLevel_3 label="Battery 3 [%d %%]" visibility=[BatteryPosition_3==3]
Text item=BatteryLevel_4 label="Battery 4 [%d %%]" visibility=[BatteryPosition_4==3]
Text item=BatteryLevel_1 label="Battery 1 [%d %%]" visibility=[BatteryPosition_1==4]
Text item=BatteryLevel_2 label="Battery 2 [%d %%]" visibility=[BatteryPosition_2==4]
Text item=BatteryLevel_3 label="Battery 3 [%d %%]" visibility=[BatteryPosition_3==4]
Text item=BatteryLevel_4 label="Battery 4 [%d %%]" visibility=[BatteryPosition_4==4]