How does Shadowborn Demon work?
You can play the card even if there are no non-Demon creatures. The "When Shadowborn Demon enters the battlefield" ability is a triggered ability, it doesn't happen until after the Demon is finished being cast and resolves. Once it does, if there are no legal targets, then the triggered will be removed from the stack immediately after being added; it won't even try to resolve[CR 603.3d].

For your second question, yes, you would be forced to sacrifice the Demon if there are no other creatures to sacrifice. The "Sacrifice a creature" is not optional, it is an ability that is triggered at the beginning of your upkeep. So long as you don't have 6 or more creature cards in your graveyard, you must sacrifice a creature.