Following Werner's fine answer at How can one refer to a part of an equation?, I can make it work with hyperref, but not with cref. Perhaps someone who know the guts of cref can adapt (here, I just \let \cref to \ref).
The new environment is myitemize, and it takes an optional argument, in which the label can be specified with \ilabel. Of course, you must define all the associated symbols with your environment in advance, as you will see in my preamble.
\documentclass[10pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[francais]{babel}
\usepackage[T1]{fontenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{enumitem}
\usepackage{hyperref}
\usepackage{nameref}
%\usepackage{cleveref}
\let\cref\ref
\usepackage[nopar]{lipsum}
\makeatletter
\expandafter\def\csname mysym1\endcsname{\dag}
\expandafter\def\csname mysym2\endcsname{\ddag}
\expandafter\def\csname mysym3\endcsname{*}
\expandafter\def\csname mysym4\endcsname{\&}
\newcounter{itnum}
\newenvironment{myitemize}[1][]%
{\relax\par\stepcounter{itnum}#1\hfil[\csname mysym\theitnum\endcsname]\hfil\itemize}%
{\enditemize\ignorespaces}
\AtBeginDocument{\let\i@label\label}% https://tex.stackexchange.com/q/9939/5764
\newcommand{\ilabel}[1]{\def\@currentlabel{\csname mysym\theitnum\endcsname}\i@label{#1}}
\makeatother
\begin{document}
\lipsum[4]
\begin{myitemize}[\ilabel{épée}]
\item blalabla
\item blablabla
\item blablabla
\end{myitemize}
\lipsum[4]
blablabla cf \cref{épée}
\begin{myitemize}[\ilabel{ref2}]
\item blalabla
\item blablabla
\item blablabla
\end{myitemize}
\lipsum[4]
blablabla cf \cref{ref2}
\end{document}

To help the novice user learn a bit more about what is done, I am expanding the explanation.
\makeatletter...\makeatother - See What do \makeatletter and \makeatother do?. Basically, @ is a restricted character in user code, but its use in macro names can be enabled/disabled with these two commands. Since much of the TeX core and packages use this @ character in their macro names, the enabling must be done to allow modifications to those routines.
\expandafter\def\csname mysym1\endcsname - numbers are not allowed in macro names when using \def, so \def\mysym1{\dag} will not work, but that is what I want to achieve. The name \csname mysym1\endcsname is effectively equivalent to a \mysym1 syntax. However, saying \def\csname... would redefine \csname, which I don't want to do, and so \expandafter says "skip over the next thing (in this case \def) and expand what follows, namely \csname. It effectively is equivalent to the disallowed \def\mysym1{}, but follows the rules.
\newcounter{itnum} and \stepcounter{itnum} - creates (zeroes) and increments a LaTeX structure called a "counter", which is just an integer index. The current value can be accessed (as a text string) by placing \the before the counter name, in this case \theitnum.
\par - start a new paragraph
\relax - do nothing, but it doesn't "expand", and so something trying to expand the code leading up to it will stop expanding when it get to \relax. I put it here, so that nothing which followed could accidentally be taken as part of the optional argument.
\hfil is stretchable glue (\hfill is a stretchier version of \hfil). It can stretch its horizontal length between the items to its left and right. Think of it as a rubber band.
\@currentlabel and \i@label are the way LaTeX refers internally to a label, and how it creates a new one. It is the first of these command that I must modify to make this method work. Then I must call on the second of these, passing it the "new" label definition.
\AtBeginDocument{} - Says "don't do this until \begin{document}. The reason for this is that hyperref is busy redefining stuff all over the place, and so I don't want to do this until hyperref is fully done doing what initializations it wants to do.
\ilabel - Since a user can't use @ characters in their code normally, I create this macro to effectively invoke \i@label with the properly redefined label.