The 100 mA is nothing, how critical is the 8 volt regulation?
Not at all, 8V is just a target, but anything up to 30ish V would be OK, it is just going to be fed into a linear Vreg.
I would think about getting a Euro type wall wart 240 VAC / 9 VDC (or similar) and just place a 1N4001 diode (or two) in series with the + wall wart output. Just about any 240 VAC wall wart will work fine on 250 VAC.
The devices will be hard wired not plug-in so I would need to pull the board out of the wall wart and integrate it into the device. While I'm sure it would work, it seems messy and unpleasant to work with. Also wall warts from a local electronics shop are ~$10, I could get a $1 phone charger off ebay but I doubt it would have the level of isolation, reliability and safety that I am looking for. I could get one of the cheap ones and try to make an improved clone but I suspect that they are saving a bit due to economies of scale and after any improvements are made I am probably back up around $10/unit.
I can't find it by searching, but there was an advertisement for a power supply that is designed to FIT in the bottom of an electrical box.
That is quite cool, and I have a one or two other projects where I might look at using one, but for this project $14/unit is just too much.
I2C is probably suitable for star topology if you do transfer some information. Otherwise some sinple bit-bang will work.
I've never done wired comms over more than about 30cm, how much do I need to worry about reflections and noise? I can keep the speed down (a few Kbps would be fine) but it will be surrounded by AC wiring. I did consider using RS232 transceivers to help protect against noise, or is that overkill for a 5-10m run?
You can even use remotely controlled relays in which case you do not need any protocol at all.
That was one of my backup plans, have the region controller drive 12V lines that trigger triacs at each node. The downsides to that approach are that some advanced functions (e.g. power usage monitoring) are harder to implement, and a failure of the region controller uC will take out all of the lights in that region. If each light has its own uC then it is only dependent on the region controller continuing to provide power and in the event that no traffic is received from the controller for X seconds, it reverts to a dumb mode where it monitors the switch and triggers the output locally.