No.
It is about code like this
When ever you find yourself writing nearly the same thing over and over and over then you should think about what your doing and use an array.
In this case write a function that turns off all the LEDs call that and then just turn the one you want after the if statement.
No.
Using a multiplexer is a very bad idea for outputs because when you select the output you want to control all the other outputs are HIGH. ( or LOW depending on what sort of multiplexer you have).
To save pins you need to use one of the following.
- A shift register.
- an addressable latch.
- A port expander.