I'm not the author of Guilemacs, but I do work on Guile, and I just took a look at the log of the Guilemacs repository (http://git.hcoop.net/?p=bpt/emacs.git;a=log
). As I'm sure you know, the goal is to use Guile as the ELisp interpreter (or really compiler) for Emacs. I will try to summarize how it works, although I hope bpt himself will email about it, since he wrote it.
I think that the single biggest change is garbage collection. Guile uses bdw-gc, a library for conservative garbage collection. It looks like most of the changes are converting Emacs to use that. I see that bpt also disabled pure space, but I don't know if that's required by bdw-gc or just convenient when one is working on garbage collection. Similarly, he disabled asynchronous input, but I am quite sure Guile can do that, so I don't know why he turned it off.
As for whether you could incorporate it without adopting it, I think the answer is yes. You could have a configure option that would control whether Emacs used its own ELisp interpreter or Guile's. This would touch a lot of the C code, because it would also affect the garbage collection and the object representation. But I don't see any reason it wouldn't work.
Hope this helps,