Disclosure: I work for AV vendor.
The answer depends on whether you are talking about:
- Anti-malware engine which scans content without executing it. This is what people call "scanning a file", and what is used, for example, by VirusTotal;
- Anti-malware engine which detects malware by monitoring running processes for malicious activity (this is often called "behavior analysis").
For the first one, with exception of Symantec, which reportedly runs parts of antivurus engine in kernel, I don't know of any other vendor whose anti-malware engine runs in kernel. Even for Symantec it was matter of choice and not the requirement, as the anti-malware engine has the same detection when running in userspace. Kernel module is required to intercept events (such as file access), but the accessed file name is typically passed to userspace and scanned there; there are no requirements to scan it in kernel.
For the second one, while this engine is usually also implemented mostly in userspace, it depends a lot on its sensors implemented via kernel drivers. Without them the engine will not detect anything.
Thus the final answer is:
Yes, it is possible to install multiple anti-malware products on the same system. Because this scenario is not supported by most security products, who would ask you to uninstall another product, this would require tweaks, such as deleting product installation information so the products would install together.
The detection rate in this scenario would only be limited to one of static/dynamic anti-malware engine, and runtime detection would not apply (it would have to be disabled).
As this configuration is unsupported and achievable only via tweaks, it is inherently unstable, and can collapse (crash/deadlock) easily. Especially once one of the security products receives a product update;
Running them in different virtual machines is a much better solution, as the resources used by the anti-malware product running scans would be quite significant;
Why not use VirusTotal instead?