You can, of course, charge for anything that you and the client agree to. Whether you should or not, however, really depends.
You state that the company you're doing the work for is "local". Many times, companies seek out local contractors over remote freelancers precisely because it makes it easier to physically meet at least occasionally over the course of a longer project. Many local contractors use this when pitching their services to the company. If one of your pitches has been that you're a local developer, it would be counterproductive to turn around and negate that benefit by making it difficult for the customer to meet with you face to face.
Continuing on the "local" front, exactly how far away are your offices from the client's offices, both in time and distance. If "local" means "same city", for example, charging extra for the minimal inconvenience of potentially driving across town would likely come across as petty if you're closer than most of the client's actual staff. On the other hand, if "local" means "close enough to drive rather than to fly" so that coming in for a week means a multi-hour drive, renting a hotel, etc., then it's much more reasonable to charge for that inconvenience either in the form of actual expenses or billing for travel time or upping the hourly rate.
You say that you've done work for them in the past so, presumably, there is at least a decent possibility of doing more work for them in the future. With that in mind, it may well make sense to use this as an opportunity to build some goodwill at relatively little actual cost to you. If coming to their office for a week doesn't cost you much out of pocket, just a couple extra hours of commuting time, you may be much better off in the long run telling the client that you'd normally charge X for working on-site but since they're a good customer, you'll credit the invoice for that (so that the invoice shows a charge for X and a credit for X). That sort of informal "customer loyalty program" is generally a great investment in ensuring that you stay in everyone's good graces without costing you much out of pocket. It certainly helps when there are future issues with bills to be able to point out that you've proactively given them discounts in the past. Plus, physically meeting people, putting names to faces, maybe grabbing a bite to eat at lunch or after work can make the working environment much better so it may be in your interest to spend the occasional week on-site with key clients.
Of course, the bigger the request actually is, the more likely it makes sense to charge for it. If you're running up a thousand dollars in hotel bills, travel expenses, and meals away from home in order to work from the client site for a week, it's perfectly reasonable to charge for that. If you're doing a fixed price bid and working from the client site is going to slow you down because you're spending time getting your equipment to work in their environment or configuring their machine with your preferred development environment, it makes sense to build in those estimates for the work. If you're charging an hourly rate, on the other hand, it makes much less sense to charge for the fact that they're asking you to be less productive for a bit.