Is purely functional programming in some situations less efficient than imperative programming?
Yes.  There are problems where we can prove there is a $\Omega(\lg \lg n)$ factor slowdown.  We also know that the slowdown is at most $O(\lg n)$ in all cases.  See What classes of data structures can be made persistent?.