I'll try and answer what I can for now from the top of my head (I'm at work)... Do send me a PM with more questions if you have any so I can give you links and stuff at home.
Yes, each Dreamcast game has its own IP.BIN. I'm assuming you're using some generic IP.BIN that works with your homebrew stuff or whatever it is you're doing, as you haven't mentioned having a problem with it. But for rips of commercial games it probably wouldn't work.
There are indeed tools to extract the IP.BIN from images such as .cdi, as well as a great IP.BIN editor to change all the flags and stuff contained inside it. I just can't think of the links right now. But what helps knowing is that IP.BIN is always 32768 bytes large and is contained in the first 16 sectors of a given ISO9660 file (a CD track containing an ISO filesystem, just to make it perfectly clear). So that's sectors 0 to 15 (at 2048 bytes each); the actual filesystem and its contents start at sector 16.
(This is also the reason you usually don't see an IP.BIN file on a selfbootable Dreamcast game, because it's not part of the filesystem anymore. Non-selfbootable games contain IP.BIN as a file so whatever boot disc you use can find it and start the game.)
There is a lot of stuff in IP.BIN - the game name, publisher, etc., name of the first file to load and execute (usually 1ST_READ.BIN), whether the game is a SegaOS (Katana) one or a WinCE one, whether VGA/RGB are supported, what kinds of input the game accepts - there are separate flags for each single button and direction on the normal controller, as well as lightguns, mice, whatnot - what regions the game will work in.... TONS of stuff! And there's even executable code inside IP.BIN, usually of the sort that finds and loads the specified file.
You might have heard of a serial slave CD image; it's a program to make the DC listen to a terminal program running on your PC via a coders cable or Ethernet linkup via BBA. The interesting part is that the serial slave is small enough to fit into IP.BIN itself, so that the only actual file contained in the ISO track is a readme.txt (just so there is *something*). Cool eh