You want to float it left. Also, you want to subtract at least 70 pixels from your current width calculator, else the container won't be able to hold all items in it as well as use before instead of append with a target of .dummy instead of #container. All in all, your jQuery code should look like:
Code:
$(document).ready(function() {
var available = $("#container").outerWidth() - $("#latest").outerWidth() - $("#menu").outerWidth() - $("#content").outerWidth() - 70;
$(".dummy").before($("<div>").attr("id", "promotiediv").append($("<h3>").text("promoties")).append($("<ul>")).css("float", "left").width(available));
var array = new Array("Moestuinartikelen", "Harken", "Gras zaadjes", "Veel meer...");
for (var i = 0; i < array.length; i++) {
$("#promotiediv ul").append($("<li>").text(array[i]));
}
window.alert("remains: " + available);
});
Another thing you should look into is the fact that you include #latest in your calculations, but at the same time #latest doesn't have a set width (Which is also the reason behind the whole subtracting 70 from the final result instead of like... 20).
And yes, tested and works. Enjoy.