Choosing recent files list at startup
The history file is managed by C code, see e.g. wm_files.c.

You could exchange the recent-files.txt by script maybe, then let Blender reload it by calling bpy.ops.wm.read_history() as seen in wm.py (everything else requires changes to the C code).

Example script that switches recent-files.txt and an also required recent-files-2.txt (you need to create this manually) and triggers a refresh of the Recent files list:

import bpy
import os

fp = bpy.utils.user_resource('CONFIG')
src = os.path.join(fp, "recent-files.txt")
tmp = os.path.join(fp, "recent-files-1.txt")
dst = os.path.join(fp, "recent-files-2.txt")

if os.path.exists(src) and os.path.exists(dst):
    os.rename(src, tmp)
    os.rename(dst, src)
    os.rename(tmp, dst)

    bpy.ops.wm.read_history()


You could also append to recent-files.txt, or re-write it completely. Just keep in mind that Blender ignores files that do not exist, and will remove them from the text file.