This is all about scripting, so yes you can: your Lua script could use a list of group names to send to and then you use the names returned by
GetAgentGroups() to select the UUIDs of the groups matching with your list...
You could even design a Lua floater that would list all your groups to let you select the ones you want to send a message to... And you could even store that list in Lua-reserved settings (via
SetGlobalData() and
GetGlobalData()) for reuse in subsequent viewer sessions.
Yet another possibility is to read the group list from a note card, via a LSL script that then would in its turn ask the viewer to send the message to that group via Lua: such an example script is given for group invites in the appendix C of the Lua manual and would be very easy to adapt for message sending.
There is no real limit but the one you impose yourself in your script...