a) Can I scan the same file concurrently by multiple antiviruses at the same time?
Sim, você deve conseguir analisar os arquivos simultaneamente. O único problema é se o seu servidor puder lidar com a carga de vários scanners em execução ao mesmo tempo. Eu poderia fazer 2 ou 3 deles de cada vez, apenas para limitar as coisas.
b) Should I run each antivirus only when it's needed (an user has uploaded a file and it has to be scan) and should they run all the time in background? If the second option, won't they conflict with each other?
c) In case, there are more files have to be scanned, should I run a new process-antivirus for each file or can I "queue" the files for each antivirus?
Eu optaria por digitalizá-los sob demanda, ou seja, digitalizá-los cada vez que um arquivo for carregado, só para espalhar a carga, supondo que você não receba uma tonelada de uploads de arquivos. Se for uma situação de alto volume, mudaria um pouco as táticas e as examinaria em horários específicos do dia.
Dependendo de como você estrutura sua varredura, você provavelmente precisará atrasar a disponibilização dos arquivos até que a etapa de varredura esteja concluída.