Colored Flames Experiment
Colorful flame
To create a colorful flame you could just buy some packages of Colorful flame which is not toxic.
To buy it on amazon click here.

Gender part
For the gender part you could treat some sawdust with aqeous Copper(I)-chloride ($\ce{CuCl}$). Let that sawdust dry and throw it in the fire (after some time passes so they can be amused by the &quot;Colorful fire&quot;). It'll create a blue colour which would be great if its a boy.
However, if its a girl you could do the same thing, but instead of the Copper(I)-chloride you would use Strontium(II)-chloride ($\ce{SrCl_2}$) or Strontium(II)-nitrate ($\ce{Sr(NO_3)_2}$).
I don't know how long it'll  last but it depends on how much you put in the fire. (More stuff lasts longer)


Precautions

Be careful! You could be burned or something could catch on fire.

Definitely don't breathe in the fumes from the fire.

Don't use methanol because its a poison if ingested.

And the general advice: Wear safety gear!



Sources linked here and here.