Yes and no. The two machines have about 99.9% similar Basics and kernals. Most peripherals can be shared, but that ends the compatibility. The C64 uses upgraded video and sound chips that are NOT backwards compatible with the VIC-20, not even so you easily can emulate it. The C64 also uses a partly different memory map.
That said, a small amount of Basic software which doesn't use more than ~20 column wide rows and does not use any custom graphics, sprites, sounds or the eight extra colours the C64 has, can be compatible between the two machines. Quite immediately you see the level of compatibility is remarkably low. If you get into machine code, things can get even worse even if the two use the same CPU and when it comes to Kernal calls they work much the same.
Now, as a matter of fact Jim Brain is developing a cartridge device he calls Masquerade, modulo spelling. It will allow you to physically insert a C64 cartridge into a VIC-20, through remapping the I/O lines in the cartridge port. It will provide the ability to use C64 cartridge boards with EPROMs holding VIC-20 software. It will also map I/O blocks so a few custom hardware cartridges like Ethernet cartridges for the C64 can be connected to the VIC if someone writes the driver software.
You are asking for the opposite, to plug in VIC cartridges on the C64. I don't know quite why, since the C64 itself has a library of about 400 different cartridges for you to collect. That is roughly twice as many as for the VIC-20. Most of them may be rarely seen, but if you keep looking you will probably find a bunch of genuine C64 cartridge games. Not to mention utility and special hardware cartridges. People today also produce C64 cartridge boards in relatively big quantities for those who like to make their own cartridges. I'm not sure if this is something you would like to investigate. Even in moderate quantities those boards can get a bit expensive to purchase.