Thanks everyone for the interest I'll try and answer points that have been raised.
Phase
This is probably better described as direction. The output of the CT is nominally in phase with the mains voltage when the power is being fed into the supply and 180 degrees out of phase when power is being used (or vice-versa if the CT is connected the other way round)
By measuring the output voltage of the CT at the peak of the mains voltage you can determine which of these conditions applies.
The phase input is a relatively high voltage (from a high impedance source) which causes the PIC input to rapidly swing from rail to rail (clamped by the internal ESD diodes), these transitions are used as a time reference to work out when the peak of the mains voltage occurs. On the battery circuit the capacitve coupling gives a 90 degree phase shift and so the peak mains voltage occurs at the transition of the phase input, for the mains circuit you need to intoduce a 5 millisecond delay.
Current sensing
The overall accuracy is determined by how much effort you put into current sensing.
The scheme descibed by Sean is the Rolls Royce of methods but does require an accurate sample of the mains voltage to work. As I need to have a system that didn't have a direct connection to then mains voltage (meter cabinets don't usually have sockets in them) I could not use this method.
If anyone is interested in real accuracy I suggest that the Arduino based system described here
http://openenergymonitor.org/emon/input with the addition of my direction sensing would be a good place to start.
The HalfBee Sean mentioned uses the 'Ford' method in which the current is sampled 256 times per cycle, squared and the RMS value. By assuming a power factor of 1 you can then calculate the power involved I think this asumption is probably OK for most domestic whole house situations.
For the demonstator I tried to get the total supply current as low as possible (< 1/2 mA) to give maximum battery life and so used a 'Trabant' method of just doing a single measurement at the voltage maximum. With hindsight it's probably worth revisiting this using the HalfBee code and possibly moving to bigger (D size?) battery.
Display
Personally I think that once the novelty wears off then there is little point in having a real time display. I don't see either anyone rushing to turn off things when the sun goes behind a cloud or SWMBO accepting being told she can only have the iron/washing machine/dishwasher on if the meter is well into the green. However as other people may differ I'll continue. The one enhancement I would have thought most valuble would be to give it a remote wireless display. While it maybe possible to hack into one of the freebie power monitor systems its probably easier just to use a simple RX/TX pair (around £10@ Maplin) just to send a couple of data bytes to a mains powered display, which can be as simple or complex as desired. [Iain
http://www.ti.com/lit/ds/symlink/lm3914.pdf contains the circuit for a 20 step centre zero meter]
I intend to re-visit the HalfBee power meter code and using one of these it will be possible to plot/log results using a one wire system as a psudeo temperature from -40 (4kW fed to mains) to +120 (12kW consumed)
Code
I'm quite happy to publish the code I used but I think it may be worth waiting a while to see if any more useful comments appear that could be incorporated. The code currently is in PIC assembler which rather restricts its use to anyone who has the faculities to burn the chips. For a wider audience it would be possible to use a PICAXE which is still fairly cheap and has its own programming environment.
For anyone champing at the bit the present program used is :-
Wait for phase input to go high
If mains powered version wait 5 milliseconds
Measure voltage & store on resistor end of CT
Measure voltage & store voltage at other end of CT
Subtract the two voltages
Add in offset to give PWM mark/space ratio of 50% for zero current input
Move value to PWM generator.
Build instructions
I'll work on a parts list and the build instuctions.