Pybricks is a nice option to use Powered Up components in MOCs. A good introduction to it is on Brickset, although Pybricks has updated the firmware so that some of the things discussed in the article are out of date.
John, definitely looks like it would be worth a try! I like that it uses all LEGO parts. Driving it with a laptop or computer isn’t as ideal as storing everything on the hub, but it seems like it would be worth it since it would yield such a dynamic layout.
I was playing around a bit with the pybricks hub-to-hub communication (described here). It is an experimental feature but worked ok for me. I set up a short track with a section of yellow tiles. I ran a train on it with a color/distance sensor pointed down. I had the train hub briefly broadcast when it crossed the yellow tiles. A technic hub nearby then ran a motor for a short duration when it received the broadcast from the train. This could be used to automate things like crossing gates and switches. There are probably alternatives like putting a sensor next to the track to detect the train, but it was pretty neat to have two hubs coordinating.