The easiest to modify is the sleep screen (the screen that shows up when you push the power button). You can also easily edit all of the text for the home menu. http://www.homemenu.co/
That website has a few sleep_LZ.bin files (the sleep screen) already made. There is also a link to a gbatemp tutorial on how to actually get, extract and modify the home menu cia.
If I can manage to re-implement APT, so it works with System Applets, then ye, it should be possible. Also, you only need a CFW that's capable of patching signatures, but it's recommended to have A9LH, so if there's a bug in my home menu, you can just restore a NAND backup.
Well, my custom home menu is definiely gonna break all stuff, since
1) I'm not using the official SDK, but ctrulib
2) I don't have functions that are in the retail home menu
3) The addresses where the payloads point to contain entirely different instructions than the retail home menu does, so most payloads will end up executing arbitrary code/softlocking/crashing, so ye...