How to move items in a furnace only when there is space?
Solution 1:
You can investigate BuildCraft Logic Gates, which interact with BuildCraft pipes to govern when items are pulled out of inventories; you can set up a system so when the furnace inventory is empty it sends a signal down a pipe to pull an item out of a chest.
I'd check out Direwolf20's many spotlight videos on BuildCraft to get a better explanation, but you'll have to find the video corresponding to the BuildCraft version you're using.