Thanks for all the replies everyone! I knew this wasn't going to be easy, unfortunatley, I don't see any way to make it all happen with a single picaxe. Here's what I'm doing:
2 Picaxes,
1 24LC512
2 DS18B20's
1 DS1307u+
relays, optocouplers, and a whole host of other things in the circuit,
The touchscreen I am using is an LCD module with a built inserial interface, it's VERY cool. Manages it's own software configurable buttons, manages it's own graphics, animations, etc.. in the end, all it does is "burst" a serial command at the uP. (It also has an external keypad interface, but I'm not using it)
1 Picaxe manages the touchscreen that interfaces with serial signals. Using a serin command, the picaxe just 'waits' until is see a signal, then processes the signal and needs to "take control" of the memory chip to pull data, display data, allow the user the change the data and the save the data back. then release the chip, to let the other picaxe to what it needs to do. I call this picaxe the "user interface" processor.
the second picaxe has a series of routines that manage 5 different timers, reads temperatures and stores them etc.. It reads the time from the DS1307u+, grabs the time ON variable and the time OFF variable from the memory chip, and compares, then turns a circuit on or off base on the results. it loops through this 5 times, as it manages 5 different circuits. It then reads the temperature from 2 different DS18B20's, converts it to Farenheight, and stores the data once every hour in the memory chip as well. It is set to store and entire months worth of temperature readings. and ther are several temp alarms, etc.. (this is more data that can be accessed by the touchscreen LCD and shown as a graph) - this is what I call the "workhorse" processor.
I've got every other part of this little project coded. Originally, I had it all on one chip, but the DS18B20's have such a huge delay that if you don't press the touchscreen at JUST the right time, the uP misses the "burst" of serial data from the touchscreen. So, the solution seems to be to use two picaxes. I've tried using the setint command several other ways to keep it all on one chip, but the delay in the DS18B20's is just too large and the uP still "misses"commands way to frequently.
So thats how I got to where I'm at. Looks like two chips talking i2c is the way to go. There are a number of other "doo dads" on the i2c bus, so I'm not that worred about frying a chip. If I kill a chip, I'm killing a lot of other chips along with it.
My initial though was to just tie the two chips together using a single leg, on each. When one wants to talk, it can check that leg. If it's "high" - then wait until it's low. if it's "low" then it knows it can take control. So it takes over the memory chip and makes that leg "high".
Am I oversimplifying?