If you are looking for a way to loop through the variables the way it is expected to loop through with your original code, you can do this:
f=(*.mkv)
v=(*.mp3)
for((i=0;i<${#f[@]};i++));do
echo "${f[$i]} ${v[$i]}"
done
General assumption is, you have the same number of files for both mkv and mp3.
Or if the files have identical basenames, you can do this:
for f in *.mkv;do
v="${f/%mkv/mp3}"
echo "$f $v"
done
In "${f/%mkv/mp3}" mkv is being replaced by mp3 at the end.
See Bash Parameter Expansion for more info.