Putting for simplicity $x=e^t, q=e^{-b}, F(t)=f(e^t), A(t)=a(e^t)$, we obtain
$$A(t)F(t)=F(t-b).$$
Now you can assign $F$ arbitrarily on any interval of length $b$, for example on $(0,b)$,
and this formula defines you a solution everywhere left of this interval.
If you want a continuous function, you want $A(b)F(b)=F(0)$, otherwise $F$ is arbitrary
on $(0,b)$. Similarly, if you want it smooth etc. If $A(t)\neq 0$ for all $t$, you can also
extend your solution to the right.

The answer on further questions depends on what is exactly known about $a$, and what properties you want $f$ to have. 

Edit. For example, if $b=1$, $a(x)=x$, we obtain 
$$e^tF(t)=F(t-1).$$
Taking logs,
$$t+\phi(t)=\phi(t-1),\quad\phi(t)=\log F(t).$$
Differentiating twice gives that $\phi^{\prime\prime}$ is an (arbitrary) periodic function. The simplest solution is obtained when $\phi^{\prime\prime}={\mathrm{const}}$. Then $\phi(t)=-(1/2)(t^2+t)$, and the solution of your original
equation is 
$$f(x)=\exp\left(-(1/2)(\log^2x+\log x)\right),$$
which satisfies $f(x/e)=xf(x)$.