I was unaware that support for SVG fragment identifiers is [not so hot][1], so I found somewhat of a workaround in the form of Base64 encoding (thanks to these [doppnet][2] and [CSS Tricks][3] posts). 

So, after optimizing my SVG in Inkscape I converted it to base64 using [Mobilefish's converter][4] (if you use this, make sure to set max characters per line to 0 so you don't have line breaks), and then added them as strings in a JSON array:

    var activityURI = [
        {"activity":"All","uri":"oZWlnaH..."},
        {"activity":"Hiking","uri":"4bWxucz..."},
        ...
    ];

And then accessed them like this:

    //for minor extra efficiency, set prefix of URI common to every item in array:
        var uriRoot = "data:image/svg+xml;base64,PD94bWwgdmVy...";

    //set full URI using desired index:
        var uriPath = uriRoot + activityURI[//desired index# goes here\\].uri;
        var defPoiStyle = {
            externalGraphic: uriPath
        }

**Drawbacks**

 1. Long, ugly strings in my code (thank goodness for word wrap). 
 2. Bigger JS file.
 3. Tedious to maintain SVG since Base64 converter must be used every time.

**Benefits:**

 1. It works in Chrome.
 2. No more individual HTTP requests for individual SVG files. **EDIT:** not true at all! I incorrectly assumed that this method would not trigger an additional HTTP request since it is included within my JS. Back to the drawing board...
 3. Base64 may be [comparable in performance][5] to unencoded SVG.

[Here is a working result][6]. Any thoughts on how to do this better? All ears.

  [1]: http://caniuse.com/#feat=svg-fragment
  [2]: http://doppnet.com/2012/07/Ninja-SVG-sprites
  [3]: http://css-tricks.com/using-svg/
  [4]: http://www.mobilefish.com/services/base64/base64.php
  [5]: http://www.mobify.com/blog/base64-does-not-impact-data-uri-performance/
  [6]: http://040914.scltmap.appspot.com/