I don't know if the driver chips from ELM that do the three variants of OBDII are pin compatible, so just swapping one out and in is probably unlikely, you could do one board with three sockets, and just populate the one you wanted to use.

I am pretty sure that CAN-bus would need its own driver IC, as from what I remember it is pretty differant to OBDII in terms of both electrical signals and protocol.

If I was doing a project to support them I would get a microcontroller, and write the SW for it to handle all three of the OBDII protocols in one device, but I already have a backlog of projects that are not getting enough of my time as it is
_________________________
Mark. [blue]MKI, MKII & MKIIa, all Blue, and all Mine![/blue]