1) Anything inside <SCRIPT> tags will be ignored, but plain <A> tags that contain JS (eg mouseovers etc) will be OK
2) To my knowledge no SE understands frames
3) Tricky one this... the conventional wisdom is No, but there's something out there that triggers my ordering script every so often with a completely blank order, which should be impossible if the script is run from a browser request. I certainly appears to be a spider, but which one... I don't know. My guess is either googlebot or gulliver, but no evidence as I don't have access to my secure server logs.
2. I wouldn't say they 'choke' on frames they simply can't pull out the page references. They do index the the html of the frame page. That's why you should throw you content in the noframes tags (include links to other frame sets). The real problem with frames is that you can't get away with just using one frameset. You actually need to design a new frameset page for every page you want indexed in the SE.
3. At this point a good rule to live by is to say no. Like sugarkane says it is possible that some (very few)spiders can read the forms but it's not recommended to bank on it. Still give them regular links to follow.