Yes this would work. Of course if mkgmap could group by region instead of by map-id it would be better - because then you could maybe just load two of the gmapsupp.img or a single one instead of all.
The simplest approach would be that mkgmap just takes from *0001 to 0xxx until 3600 or 3700MB filesize is reached - then add the mdr/mdx and put it into a gmapsup1.img, then gmapsup2.img for the next 3700MB.
Or maybe mkgmap splitter could be changed to group the tile numbers a bit more intelligently?
my approach would be
4 gmapsupp regions
12
34
9 gmapsupp regions
124
357
689
12 regions
1 2 4 7
3 5 810
6 91112
because splitter doesn't know how big a tile will be - give an average value as option - I have 7MB per tile on average. So to be safe use 3200/7=457 - meaning 457 tiles per gmapsupp region. but I'm not sure if such a raster is possible or maybe way too difficult to program.
My europe map is now about 23GB in size. So I guess in 2 years it will not fit a single microSD anymore anyhow (because some space should be left for other data).
Also of course a simple overview map about the regions then would be great. But then the effort gets bigger and bigger. So maybe forget about all of this and simply create gmapsupp by tile number until 3700MB. KISS
Then for Europe one could create 4 regions with OSMcut - and create 4 part Europe each part overlapping 200km or so. Each part then would be usable or many years. I kinda feel like up to 12-16GB of mapdata is not slowing down devices too much. However right now with the 4GB limit it would be too many maps to compile.