PIC12C508A is 8-pin microcontroller with 12-bit program ROM (512 words) and 25 bytes of data RAM. See pinout below that was taken from PIC12C508A datasheet:
It has 4 MHz internal oscillator, but external crystal or clock is also possible (chip will have less GPIO then). One button could be connected to GP3 (because it's input only). GP0,GP1,GP2 may encode 1 color out of 8 (or 8 shades of gray). GP4 may be SYNC. GP5 may be used for something else (most likely for external RC if internal RC oscillator will not be good enough).
4 MHz clock will give us 1 million instructions per second (only a few instructions twice as longer - for example CALL, GOTO etc) or 1 uS. In case of NTSC (see http://www.ntsc-tv.com) we need to produce something like this:
It means 63.5 instructions per line - it is not possible, so we need to produce not exactly standard NTSC signal to keep integer number of instructions per line - for example with 64 uS per line and 262 lines it will be 59.64 FPS instead of standard 59.94 - it might be acceptable. Also in visible part of the line we may have 52 distinguishable visual elements - probably because of safe area of most of TVs actual working range will be about 48. In case of 4:3 then we may have 36 vertical elements to make them squares (or 27 in case of wide screen 16:9).
It looks like internal RC is good enough for generating stable grayscale NTSC video, but PIC12C508 is too small to put some logic along with NTSC static frame generation. I'll try PIC12C509 to make something useful...