Insufficient coins to steal
If you have to steal coins from a player and this player does not have enough: steal as much as you can. Here is the official reply from the designer, Bruno Faidutti:


  You get what your target has and the game ends.


In your examples:


Bishop: if the richest player has $1, that means that everyone has exactly $1, otherwise the game would had ended. You just steal $1, the game ends immediately and you win with at least $2 in hand (as everyone has $1, except the person you stole from).
Inquisitor: similarly, if someone has $3 or less, you steal as much as you can and the game ends.




Some more insight on the timings.

Paying coins to the tribunal for falsely calling a bluff takes place after the called character applies their ability. From the rulebook, p. 6-7:


  The players is indeed the announced character, that player immediately
  uses the character’s power (which can happen outside of their turn).
  Then, all the other players who had falsely claimed to be the
  announced  character pay a fine of one gold coin to the courthouse.


Therefore, if you tie with the richest players, call the Bishop's or the Witch's bluff and are caught lying, you shall pay your $1 to the tribunal AFTER the Bishop/Witch apply their powers. This is discussed in detail here.

Nevertheless, if, in this way, you steal the last coin of a player, therefore triggering the end of the game, false challenges must be paid afterwards to the tribunal, in order to determine the winner, as clarified by Bruno Faidutti:


  In this case, it sounds fair to state the false claimants pay, and the
  tied player who doesn't have to pay wins.