Q:

Como passo essa imagem como parâmetro?

A questão é a seguinte, como passo a imagem como parâmetro pra usar ela no javascript com tentei no código abaixo? 
HTML   
<!doctype html>
<html lang="pt-br">
<head>
<meta charset="utf-8"></meta>
<script type="text/javascript" src="javascript.js"></script>
<link rel="stylesheet" href="style.css">
</head>
<body>
<div id="botao_1"class="bgbotaorank" style="background-image:url('twitter.png');"  onclick="muda_imagem('botao_1','twitter.png');">
</div>
<div id="botao_2" class="bgbotaorank" onclick="muda_imagem('botao_2','twitter.png');">
</div>
<div id="botao_3" class="bgbotaorank">
</div>
<div id="botao_4" class="bgbotaorank"></div>
</body>
</html>

JavaScript
function muda_imagem(id, imagem) {
document.getElementById("botao_1").style.backgroundImage = "url('red.png')";
document.getElementById("botao_2").style.backgroundImage = "url('red.png')";
document.getElementById("botao_3").style.backgroundImage = "url('red.png')";
document.getElementById("botao_4").style.backgroundImage = "url('red.png')";
document.getElementById(id).style.backgroundImage = 'url(imagem)';
} 

A:

Passar como parâmetro não era o problema, e sim usar o parâmetro.
Veja a função ajustada:

function muda_imagem(id, imagem) {
  document.getElementById(id).style.backgroundImage = 'url(' + imagem + ')';
}
/*
 * Daqui pra baixo é só teste:
 */

div { width:180px;height:180px;background-color:#f90 }
<div id="botao_1" onclick="muda_imagem('botao_1','http://i.stack.imgur.com/iOE9F.jpg');">
Clique-me</div>

Clique em "Executar" logo acima, e faça o teste.
Outro modo seria a função ser assim:
 document.getElementById(id).style.backgroundImage = imagem;

E você chamá-la assim:
 muda_imagem( 'botao_1', 'url(http://i.stack.imgur.com/iOE9F.jpg)' );

Esta segunda seria útil se você quiser chamar tanto imagens com url como data: usando a mesma função (e quem sabe gradients, etc).

