Is it possible to somehow connect 2 or 3 Raspberry Pis to one SD card and have then all run off one. I understand that reading and setting files may be an issue, but
This is not possible, in the way you want to do it.
The BCM chip uses dedicated IO lines to the SD card and the OS only has access to this via the Kernel Module, which means the OS must support this kind of data multiplexing (or server if you like) and act as a host.
The problem is only 1 OS can use the SD Card module at a time and not several because of IO synchronisation issues that will corrupt data instantly. Each BCM runs of an oscilator and the internal mechanics decide what speeds to run at. If another Pi at even a slihgly varying clock speed would be connected you would have serious issues. It might be possible by multiplexing the channels, but speed will decrease exponentially since this becomes half-duplex. Say you connect 8 Pi's via a multiplexer.. then the speed will be reduced 8 times. Besides no normal operating system driver is capable of understating this "wait" period and will crash.
It is possible theoretically to have several partitions and have other Pi's boot of these partitions over TCP/IP, but you cannot share the partitions because the driver disallows sharing of certain files to prevent Kernel Panick.