yes it is possible. I don't know if this is the effect that you are trying to create, but here is some code to give you an idea of what to do.
`set up computer
sync on:sync rate 60
hide mouse
randomize timer()
`make and position some cubes
for i=1 to 15
make object cube i,10
position object i,rnd(200)-100,rnd(10),rnd(200)-100
next i
`camera position
position camera 0,0,0
point camera 0,0,100
MouseMove#=4.0
`main loop
do
`mouselook
MouseX#=mousemovex()/MouseMove#
MouseY#=mousemovey()/MouseMove#
xrotate camera wrapvalue(camera angle x()+my#)
yrotate camera wrapvalue(camera angle y()+mx#)
if camera angle x()>80 and camera angle x()<180 then xrotate camera 80
if camera angle x()<270 and camera angle x()>180 then xrotate camera 270
`sniper zoom code
if mouseclick()=4
set camera fov 30:`this is the command that makes the camera "zoom" in
MouseMove#=4.0/3.0
else
set camera fov 90:`this is the command that makes the camera "zoom" back out
MouseMove#=4.0
endif
`end loop
sync
loop
Hope this helps
Part of solving the problem is actually noticing that the problem is there in the first place