dude i think this would be simple on a PIC...
what speed is your pic? lets say 4mhz... either use timer or loop (SIMPLER somewhat)
If using a loop:
Step 1:
Is pin high --- no then wait....
if high then start the loop
in the loop simply count up to about 60000000 @ 4mhz PIC thats 60,000,000 Cycles aka 60 seconds (more or less) use mPLAB sim to verify
if the pin is high after 60,000,000 counts then its time to turn on or off the computer....
If the pin is low before 60,000,00 you can have it do something depending on length or what ever