I can do it reliably in 7 Questions:

>!  1. Will the next person tell me the truth?
>!  
>!  2. Will the next person tell me the truth?
>!  
>!  3. Will the next person tell me the truth?
>!  
>!  4. Will the next person tell me the truth?
>!  
>!  
>!  There must be at least one Pass, possibly 2  
>!  
>!  In the following, R = Riddler, P = Penguin, T = TwoFace, J = Joker  
>!  
>!  R,P,T must Pass if J is next
>!  
>!  R,P must Pass if T or J is next
>!  
>!  if J is next after T there will be 2 Passes together
>!  
>!  if T is after J, there will only be 1 Pass
>!  
>!  Neither P nor R will answer Yes
>!  
>!  

We now have some idea of the order: 
 
>!  if there are two Passes one after the other, then T immediately precedes J  
>!  if there is only one Pass, then J immediately precedes T  
>!  in both cases above, R and P are together  
>!  
>!  if two Passes are not together, then R and P are not together (they both Passed),  
>!  so R and P are alternating with T and J  
>!  

It is really only the Passes (Z) which are significant above, After 4 questions, we have these possibilities:

>!  
>!  In the following, in addition to the notation above, Z = Pass, x = Yes or No, ? = R or P, # = T or J  
>!  
>!  1. TwoFace followed by Joker  
>!  ZZxx  == ?TJ?    Are you the Joker? (Y = PTJR )  
>!  xZZx  == ??TJ    Are you the Joker? (Y = PRTJ )  
>!  xxZZ  == J??T    Are you the Joker?   Are you the Joker?  
>!  ZxxZ  == TJ??    Are you the Joker?   Are you the Joker?   Are you the Joker?  
>!  Basically, repeat the question 'Are You The Joker?' until you get an answer from either R or P, The Riddler will answer 'No', the Penguin will answer 'Yes'  
>!  
>!  2. Joker followed by TwoFace  
>!  Pxxx  == ?JT?    Are you the Joker?  
>!  xPxx  == ??JT    Are you the Joker?  
>!  xxPx  == T??J    Are you the Joker?   Are you the Joker?  
>!  xxxP  == JT??    Are you the Joker?   Are you the Joker?   Are you the Joker?  
>!  The same process as above.  
>!  
>!  3. Riddler and Penguin alternating with Joker and TwoFace  
>!     ( ? = R or P,  # = T or J )  
>!  PxPx  == ?#?#    Are you the Joker?   Will the Joker tell me the truth?  
>!  xPxP  == #?#?    Will the Joker tell me the truth?  Are you the Joker?  
>!  
>!  In this case, it is slightly trickier than the above two cases, because we only know TJ and RP are alternating, but we do not know how. So we need to ask the following two questions in the right order:  
>!  For Penguin or Riddler:   Are you the Joker?  Riddler will answer 'No', Penguin will answer 'Yes'  
>!  For TwoFace or Joker:   Will the Joker tell me the truth?  Two-Face will Pass, Joker will answer Yes or No  
>!  
>!  

Maximum 7 Questions  (but I think it should be possible to do it in less)

Bonus, No Villain gets asked the same question twice. 

Hopefully, you can follow the above. It's not always easy to know the best way to explain.