If you want a free boot loader, see if you can't find a port of LILO or Grub. Although "LILO" stands for "Linux Loader", you CAN run it without dual-booting with Linux--Once LILO is installed, it doesn't check to see what kind of OS's you're booting into...problem is, if there's no port, you'd have to run a Linux setup program (Don't complete the setup if you don't want Linux, just go as far as installing LILO in the MBR). Select /dev/hda1 as the boot partition for Win98, and /dev/hdb1 for the boot partition for WinME, and then delete the default Linux partition, since you won't be installing Linux. (by the way: /dev/hda1 and /dev/hdb1 assumes that your hard drives are the primary master (IDE channel 1) and primary slave, respectively.

As for your virus: Well, I haven't had much trouble with viruses, since they primarily attack through Microsoft Outlook, which I don't use, but I HAVE had problems with disk space being reported incorrectly. Scandisk will detect and solve the problem.

If it says it doesn't have enough memory to run scandisk, it means you have too many memory resident tools. Like crono_logical said, make a boot disk--but remove any lines in config.sys referring to atapi_cd.sys, or any similar Real-Mode CD-ROM drivers (If you don't use DOS, go into config.sys on your C: and rem out the real-mode CD-ROM drivers--'Doze uses 32-bit CD-ROM drivers that don't suck up your conventional memory).
Also remove any lines calling a mouse driver from autoexec.bat. After that--you don't even need scandisk on the floppy--you can run it from your hard drive, as long as you cold-booted (and I mean COLD-boot--turn the computer off and wait for 60 seconds MINIMUM).

the problem with "not enough memory" has nothing to do with the DIMMs in your machine--it's referring to DOS's old 640k conventional memory limit. No matter what, you can't get more than 640k of conventional memory, and low-level tools usually can't use extended/expanded memory.