1) If some importante email is stored in SQL database and the admin don't check the iRedAdminPro, after 1 week the spam is deleted.
Looks like you have daily cron job to delete quarantined email. To keep it longer, e.g. 14 days, please append below parameter in iRedAdmin-Pro config file (settings.py):
AMAVISD_REMOVE_QUARANTINED_IN_DAYS = 14
NOTE: You can find more default settings in iRedAdmin-Pro file libs/default_settings.py.
2) If Spam is stored in Junk folder, and the clients use only pop3 clients, and never enter in Roundcube to see if have some mislabeled spam mail (like with gmail) they will think the system don't work because don't receive some important mails.
iRedMail doesn't deliver spam to Junk folder by default. So it must be configured some admin. Check Dovecot config file to see whether or not it has a global sieve script to deliver spam to Junk folder.
I am trying to setup a solution with minimum administration tasks.
So thinking about alternatives.
IMO, I'm afraid that it's hard to get what you want without any tweaks. and iRedMail should be the closest one.