You can buy all kinds of straps, with reflectors, Velcro etc. to hold your pants leg out of the way. If you have to ride in your street pants, to work or something, you can use a section of an old inner tube. Just fold the pants up against your leg so they don't wrinkle, then tie the tube around your ankle. A big rubber band, piece of twine or shoelace, chain of paper clips or piece of duct tape also will work. I've used all those in a pinch. Just depends on how geeky you can tolerate looking.
Chain guards are great, but they're hard to fit to a bike with derailleurs. I've seen one made by OGK that will work, but can't find it online or in shops.