Is it normal and appropriate for me to say 수고하세요 after I buy something at a store and leave, or eat at a restaurant?
수고하세요 -Literally: 'hardwork do' or 'keep working hard,' but translates best into English as 'keep up the good work.'
Yes it's quite normal and natural to say 수고하세요 (keep up the good work) to just about any employee as you are leaving and you can also add 안녕히 계세요 after that.
Or what if I get sent an email from a business and want to say goodbye, would I say 그럽 수고하세요?
There are a lot of ways to write the final salutation of a letter or email, but "그럽 수고하세요" is an awkward usage. You can end a business correspondence simply with 안녕히 계세요, or you could also say '귀사의 번영을 빕니다' Literally: 'precious-business prospering wishing' but roughly translates to 'May your business prosper' or 'I wish the best for your esteemed business.'
Does it matter if I am significantly younger or older than the person I am speaking to?
Whenever you are addressing employees of a business it is always right to be polite, regardless of age difference. "수고하세요" is polite and will pretty much work for ages 18-80. There are exceptions, for example if you have a personal friendship with that employee outside of work, or if you happen to be the boss/owner of that business. Also, if there are youths under the age of say 15? (working at a family business in Korea), it might be more appropriate to use a more intimate style. But best to err on the side of caution.