yes indeed. the drop command is what creates smoke and fire effects, and can be scripted. it's pretty advanced stuff, here's a taster:
create a marker on the map called mk_smoke. then cut and paste the following into notepad and save as "smoker.sqs" in the folder with your mission.
;smoke script
_x = getmarkerpos "mk_smoke" select 0
_y = getmarkerpos "mk_smoke" select 1
_color= [[0.5,0.5,0.5,0],[0.5,0.5,0.5,0.3],[0.7,0.7,0.7,0.7],[0.8,0.8,0.8,0.6],[0.9,0.9,0.9,0.5],[0.9,0.9,0.9,0.2],[1,1,1,0]]
#loop
_rub = random 0.025
drop ["cl_basic","","Billboard",1.5,10,[_x,_y,0],[0,0,0],0,1.25,1,_rub,[1,1+(random 3),2+(random 3)],_color,[0],0,0,"","",""]
~random 1
goto "loop"
then use [] exec "smoker.sqs" to run it.