Is there a way to fire either the built in flash, hot shoe flash, or both without taking a photo on a canon s5is?
No.
Not directly with script commands, but it has been done see
http://chdk.setepontos.com/index.php?topic=2655.0 The functions described by ewavr in
http://chdk.setepontos.com/index.php?topic=2655.msg25065#msg25065 are available as eventprocs (registered by 'Capture.Create' on a540), through creating a struct requires some gymnastics with lua strings or AllocateMemory and poke.
You can also fire the flash by poking MMIOs on many cameras. On a540, poke(0xc0220074,0x46) does the trick. Many people have discovered this while searching for LEDs... However, I would give this a very strong "try at your own risk" warning. If it is possible to damage hardware using CHDK, messing with this is probably a good candidate.