Thats possible with most decent softwares. Working with Fritz for example. You click on opening training and choose the line you want to practise.
Software for practising openings

I just got a free app called "chessrepertoire" in the App Store and it has helped me a lot. I has all openings and up to 100+ positions per opening. You get two tries per move and you can go back and try playing against specific openings over and over. You can't play a full game, but for practice and memory it is great.

I'm a big fan of Fred Mellender's GuessTheMove. (You can download for free from https://sites.google.com/site/fredm/.)
I use it to study openings by inputting GM games from the opening I want to study and guessing the moves of a grandmaster who plays my opening well.
This is not quite what you are asking for, but the advantage is seeing a game played by top human player and putting yourself in his place. You get to learn both the opening and the best middlegame ideas.

You can check this software too: http://www.chesspositiontrainer.com/index.php/en/

If you haven't pulled the trigger on Fritz yet, you might want to check out HIARCS. I couldn't be bothered counting all the opening positions that you can start with, but there are 18 Sicilian variations that you can play against the computer. You can play against it either full strength or dumbed down to your level. It's around $50 for a download.

I have an Android App called "ChessOpener" and it works perfectly on my phone. Will do everything you asked for.
Take care and good luck with your chess.
Lucas Chess is pretty good for free. I still have not found the toggle to play black against C4 yet. I am sure its in there somewhere. The Trainer function is fairly good IMO.

Lucas Chess is pretty good for free. I still have not found the toggle to play black against C4 yet. I am sure its in there somewhere. The Trainer function is fairly good IMO.
The easiest thing for me is go to Tools "Create Your Own Game" and play 1.c4 and your reply, then hit Utilities "Play position."
For some reason it backs up a move from the board position when you do this, so you'll need to play your reply beforehand.

I use a combination of Chess Opening Wizard and Chessbase. I use the online Chessbase database to generate pgn databases I import into COW to create opening books. I like to use the autoplay function in Chessbase to play through games in the CB databases I generate to get an impression of overall plans, and COW has training functions that I have found helpful in learning lines through rote. I wrote an article on if for NH Chess Journal which Chess Horizons republished. Here's the link. http://www.masschess.org/chess_horizons/chess-horizons-article.aspx?ch_uid=117

There's also a neat function in Chessbase that lets you select games from a database and then it generates a three dimensional graph of the frequency of piece placement on the different squares. Say, you take some variation of the Spanish Exchange, you go through each piece and it shows you what percentage of the time it wound up on each square. It helps give you an idea of which squares are best for each piece in each opening, not as a rigid rule but as a guide to help analyze positions over the board in terms of how to improve the placements of your pieces. NM Hal Terrie pointed this function out to me. It's pretty cool.
Anyone come accross a chess software that allows you to choose a pool of openings for the computer opponent (until you brake book ofc) ? For example that everything the computer plays is some form of sicilian but not the same variation each time?