And yes I suppose your idea of creating at run time is a solution as well... however then, whats the point of an IDE?
Once upin a time, there did not even exist an IDE (RAD did not even exist) and you had to do everything manually
Not trying to be too harsh but I just had to let it be known that, it is in my opinion the weirdest and stupidest thing to display them on a form. lol I also understand it probably bothers me more than most other people but some things i get passionate about. I appreciate all the work developers have put into Lazarus...
The problem here, I guess, is that when the concept of Datamodule was introduced, you get used to it over time and you don't know any better.
If I remember correctly there was a 3th party designtime component for Delphi back in the day that allowed you to (even) categorize groups of components (including the non visual ones) so in that regards I am fully aware that I am just stuck and fall back doing things the way I've learned them to do
but I can fully understand that this is perhaps a bit odd/strange if you are not used to it.
Also, in case you haven't considered them already, note the availability of the TAction and TActionList components that are able to help you organize your code-base in other ways.
Like I wrote before, if you are passionate about this topic/feature (usually accompanied with some good arguments) then please do consider to file an issue and make a request for such a feature. The problem with most of these kind of requests is that when it does not add anything significant then such a feature request can be ignored (e.g. people able to implement such a feature usually have their own priorities, and Lazarus is a very big project so there is much to do).