There's no really good way to do this, but here's a verbose way:
SELECT DISTINCT ( ?person )
WHERE
{
?person rdf:type dbpedia-owl:MusicalArtist .
{
?person skos:subject [ skos:broader category:American_musicians ] .
} UNION {
?person skos:subject [ skos:broader [ skos:broader category:American_musicians ] ] .
} UNION {
?person skos:subject [ skos:broader [ skos:broader [ skos:broader category:American_musicians ] ] ] .
} UNION {
?person skos:subject [ skos:broader [ skos:broader [ skos:broader [ skos:broader category:American_musicians ] ] ] ] .
} UNION {
?person skos:subject [ skos:broader [ skos:broader [ skos:broader [ skos:broader [ skos:broader category:American_musicians ] ] ] ] ] .
} UNION {
?person skos:subject [ skos:broader [ skos:broader [ skos:broader [ skos:broader [ skos:broader [ skos:broader category:American_musicians ] ] ] ] ] ] .
} UNION {
?person skos:subject [ skos:broader [ skos:broader [ skos:broader [ skos:broader [ skos:broader [ skos:broader [ skos:broader category:American_musicians ] ] ] ] ] ] ] .
}
}
For figuring out how many levels you need, you can change SELECT DISTINCT to SELECT COUNT DISTINCT and stop adding levels when the count stops going up.