The table in question contains roughly 40,000 key/value pair entries.
I'd keep the table, as its a single point of maintenance.
In my experience, moving beyond a few thousand lines in an array cached client-side in a browser led to hellish experiences. Bloated browser memory footprints, slow load times and general sluggishness were the order of the day. You should test this scenario yourself for the experience. It's worth the few minutes it'd take you.
The main thing to take into consideration is end-user performance. Assuming that it works well on your machine will not mean it works well on an older machine. The riskiest part about the client-side aspect of your approach is that it depends heavily on what the client has. Personally, I would avoid putting that much data to the client, but I don't know enough of the background to your project to determine why you might need to do this.
Some sort of AJAX approach retrieving cached data from the server might be more appropriate.