(author, isbn, title),
(isbn, title, author),
..but I'll grant you that's not particularly elegant and doesn't scale very well. I haven't actually tried it, but I think you may be able to do the same thing in a somewhat cleaner way by using Python's built-in itertools module, like so:
OR(*itertools.permutations((title, author, isbn)))
(note that there's no G() around that, those are just simple tuples. Most of the time, modgrammar is smart enough to automatically convert tuples/lists into grammars when needed, so you can actually use simple tuples and existing tuple/list manipulating routines and then pass the result as subgrammars to things like OR(), etc)
Short of that, it would probably require defining your own custom grammar class to implement that.. I may need to think about this a bit, though.. I'll let you know if I come up with a better answer.
-alex
(PS: You don't need G() around your OR().. OR already produces a grammar class as its result so using G() to convert it to a grammar is a no-op in that case. In fact, usually the only time you need G() is at the top level if your toplevel operation isn't already a grammar construct of some kind)