CQB M4 in any flavour. Length is only 680mm with stock retracted. Infinite amount of upgrade parts and spares available.
Just to give you an idea on sizing
M4 CQBR/Mk18 stock retracted: 680mm
Mp5A2, MP5A4 : 680mm
MP5SD2, MP5SD5 : 790mm
MP5SD3, MP5SD6: 670mm
MP7 stock extended: 640mm
p90: 500mm