I think John Kennedy is right, there isn't anything out there that seems like it fits the bill on your questions; but I'll give a wag at it anyhow.
Can a Cisco router act as an IDS for LAN traffic that does not pass
through it?
No, although there are certain Cisco devices that can act as an IDS/IPS. Cisco has an entire line of products specializing in this, specifically.
These will likely be massive overkill for your situation though.
Specifically, can traffic passing through a switch be port mirrored to
an interface on the router with the router acting as an IDS?
This has always been possible with port-mirroring (SPAN ports). They functionally do exactly what you're looking for. They replicate traffic ingressing/egressing an interface/VLAN and spit it out on a pre-defined port/VLAN.
I am looking for a way to use an ISR G2 router like Snort to monitor
traffic between devices on a LAN.
I'm not so sure this model supports custom code (like snort) in the way you're expecting it to.
Although not as elegant, you could always set up a standalone machine to run your IDS applications on.