Can not re-set [log_reuse_wait] after log back up
You have a couple actual questions here, so let's address each one individually.

To answer the question of why the log_reuse_wait won't update, this field (along with other metadata within SQL Server) will only update after certain events occur.  With this field, it will update after a database checkpoint occurs.  To force this after taking a log backup, do the following:

BACKUP LOG [foo] TO DISK=N'X:\Backups\foo_20141008120000.trn';
CHECKPOINT;


The checkpoint will occur and the field in sys.databases will update.

For why your log file won't shrink, this is a MUCH larger question.  You should read this question/answer by Mike Walsh on why your log file is growing and how best to manage it.  I also provide some more detail in this answer.

Regarding VLFs, I would strongly recommend you not worry about that right now.  Yes, you can see a performance impact over having to many VLFs (and understanding what a VLF is and how it works is fundamental for understanding the log file), but managing that should only be addressed when you're regularly managing your log with backups and it's not growing out of control.

Finally, as for the size of your log, this is a very open ended question.  It very much depends on how much activity your database sees along with the scope of that activity.  Chances are that you will shrink your log file, only to see it grow again to accommodate your regular database activity.  Before considering shrinking your log file, you need to understand what's making it grow and whether or not you're running regular scheduled log backups against it.