Seems odd to me as well that the devices would be changing unless they are getting discovered in a different order on every boot. I have several systems with Raid 5 setup and have never seen this happen. In my case the disk hooked into the sata card at port 0 is sda, port 1 sdb, and so on. Smartctl should work for detecting a failed SATA drive. Smartctl should provide the serial number of a drive, of course a failed drive might not return anything which means processes of elimination using the good drives and matching serial numbers.
Again it seems odd that the devices are changing. When sdb1 fails it means the drive on port 2 in my systems.
# smartctl -a /dev/sda
smartctl version 5.33 [x86_64-redhat-linux-gnu] Copyright (C) 2002-4 Bruce Allen
Home page is http://smartmontools.sourceforge.net/
Device: ATA WDC WD5000ABYS-0 Version: 1C01
Serial number: WD-WCAPW2036159
Device type: disk
Local Time is: Fri Dec 21 16:57:20 2007 UTC
Device supports SMART and is Enabled
Temperature Warning Disabled or Not Supported
SMART Health Status: OK