So, you could basically do it with the starter Pack, here:
https://www.picaxe.com/Hardware/Project-Boards/PICAXE-18-Project-Board/ The starter pack is in the "Related Products".
2 resistors and 2 LEDs complete the basic kit. The resistors would probably be less than (4.5 V-1.2 V-0.6 V)/20E-3mA = ohms. 4.5 is the power source, 1.2 is the LED drop, 0.6 is the drop across the driver
So something around 135 ohms 1/4 Watt resistor will do.
Then the stuff, that they don't tell you about like the power switch, the battery choice (3-AA's) look like they would work., LED mounting and the case.
Then there would have to be an ON time for your LED as well.
Here is a note on random numbers:
https://en.wikipedia.org/wiki/Random_number_generation
So, start reading.
Here:
https://www.picaxe.com/BASIC-Commands first. Look at random, pause, high and low.
The real issue is dealing with only integers fom 0-65535. One possible way to deal with the problem is to use a logical and. If you and a number with 255 which is a power of 2-1, you get a number between 0 and 255. Another way is by integer dividing. and another by waiting multiple times.
e.g. you said 3 sec, but lets say we were able to count to 1023 mS.
Wait 1000 mS
get a random number
and it with 1023
Wait that number of ms
random
AND with 1023
wait taht number of ms
In the above, we would have waited 0 to 2.048 seconds + 1 second which is close enough.
The pseudocode goes something like:
Initialization
Like set the 2 ports to be an ouput
LOOP:
Get a random number
AND it with 1
Call this variable Port
Wait 1 sec
Get a random number
AND it with 1023
Wait that number of mS
Get a random number
AND it with 1023
Wait that number of mS
If port = 0 then turn port 0 on and turn port 1 off
If port =1 the turn port 1 on and turn port 0 off
Wait 750 mS
Turn both ports off
Go to Loop
If your not happy with the randomness, then add the timer or a Real time clock/calendar which would be a lot harder.