The answer to your question would appear to be, in fact, yes. I too have looked at the game's source code, most notably in game\shared\swarm\asw_gamerules.cpp and this is what I've found.
There is a number that governs difficulty. In the source it's called m_iMissionDifficulty, though the function GetMissionDifficulty() is often used to read its value. Its initial value is set using the skill level you choose.
- Easy: 3
- Normal: 5
- Hard: 7
- Insane: 10
- Brutal: 13
If there are three marines playing, this number is reduced by one. If there are one or two marines playing, this number is reduced by two. The number can not fall below two (i.e. if you're playing using the easy skill level).
This number's practical application is in various calculations used to determine damage dealt.
This tuning can be toggled using the cvar
asw_adjust_difficulty_by_number_of_marines - on by default - though
sv_cheats must be enabled in order to disable it.