Defragmentation - Rebuilding Indexes SQL Server 2005
Yes you can rebuild while the database is online with active users. It's definitely better to do it off-peak if possible.
During the rebuild your queries will run slower, mostly due to the I/O overhead of rebuilding the index. How noticeable this is depends on the specifics of your system. The performance penalty is only during the rebuild - not forever after.
Again, the duration of the rebuild depends on your specific setup. You should try running this on an equivalent development or staging server.
No other associated side-effects. Once the rebuild is complete you'll be back up and running as usual.